典型的webservice例程序(1)-计算器

来源:互联网 发布:宇宙人餐饮软件 编辑:程序博客网 时间:2024/05/01 04:16

a。先建一个web服务

1.新建-网站

2-添加-项目-web服务

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

/// <summary>
///WebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {

    public WebService () {

        //如果使用设计的组件,请取消注释以下行
        //InitializeComponent();

 

    }

    [WebMethod]
    public string HelloWorld() {
        return "Hello World";
    }

    [WebMethod]
    public double Sum(double a, double b)
    {
        return a + b;
    }

    [WebMethod]
    public double Sub(double a, double b)
    {
        return a - b;
    }

    [WebMethod]
    public double Mult(double a, double b)
    {
        return a * b;
    }

    [WebMethod]
    public double Div(double a, double b)
    {
        return a / b;
    }
   
}

执行

b.建立一个引用

1.添加web引用

2.添加一个index.aspx 文件

前台:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <div style="text-align: center">
                    <table style="border-right: blue 1px solid; border-top: blue 1px solid; border-left: blue 1px solid;
                        width: 53px; border-bottom: blue 1px solid">
                        <tr>
                            <td colspan="4" style="text-align: center">
                                <asp:TextBox ID="TextBox1" runat="server" Width="125px"></asp:TextBox></td>
                        </tr>
                        <tr>
                            <td style="text-align: center">
                                <asp:Button ID="Button1" runat="server" Font-Size="9pt" OnClick="Button1_Click" Text="1"
                                    Width="28px" /></td>
                            <td style="text-align: center">
                                <asp:Button ID="Button2" runat="server" Font-Size="9pt" OnClick="Button2_Click" Text="2"
                                    Width="28px" /></td>
                            <td style="text-align: center">
                                <asp:Button ID="Button3" runat="server" Font-Size="9pt" OnClick="Button3_Click" Text="3"
                                    Width="28px" /></td>
                            <td style="text-align: center">
                                <asp:Button ID="Button13" runat="server" Font-Size="9pt" OnClick="Button13_Click"
                                    Text="AC" Width="28px" /></td>
                        </tr>
                        <tr>
                            <td style="text-align: center">
                                <asp:Button ID="Button4" runat="server" Font-Size="9pt" OnClick="Button4_Click" Text="4"
                                    Width="28px" /></td>
                            <td style="text-align: center">
                                <asp:Button ID="Button5" runat="server" Font-Size="9pt" OnClick="Button5_Click" Text="5"
                                    Width="28px" /></td>
                            <td style="text-align: center">
                                <asp:Button ID="Button6" runat="server" Font-Size="9pt" OnClick="Button6_Click" Text="6"
                                    Width="28px" /></td>
                            <td style="text-align: center">
                                <asp:Button ID="Button14" runat="server" Font-Size="9pt" OnClick="Button14_Click"
                                    Text="*" Width="28px" /></td>
                        </tr>
                        <tr>
                            <td style="text-align: center">
                                <asp:Button ID="Button7" runat="server" Font-Size="9pt" OnClick="Button7_Click" Text="7"
                                    Width="28px" /></td>
                            <td style="text-align: center">
                                <asp:Button ID="Button8" runat="server" Font-Size="9pt" OnClick="Button8_Click" Text="8"
                                    Width="28px" /></td>
                            <td style="text-align: center">
                                <asp:Button ID="Button9" runat="server" Font-Size="9pt" OnClick="Button9_Click" Text="9"
                                    Width="28px" /></td>
                            <td style="text-align: center">
                                <asp:Button ID="Button15" runat="server" Font-Size="9pt" OnClick="Button15_Click"
                                    Text="/" Width="28px" /></td>
                        </tr>
                        <tr>
                            <td style="text-align: center">
                                <asp:Button ID="Button10" runat="server" Font-Size="9pt" OnClick="Button10_Click"
                                    Text="0" Width="28px" /></td>
                            <td style="text-align: center">
                                <asp:Button ID="Button11" runat="server" Font-Size="9pt" OnClick="Button11_Click"
                                    Text="+" Width="28px" /></td>
                            <td style="text-align: center">
                                <asp:Button ID="Button12" runat="server" Font-Size="9pt" OnClick="Button12_Click"
                                    Text="-" Width="28px" /></td>
                            <td style="text-align: center">
                                <asp:Button ID="Button16" runat="server" Font-Size="9pt" OnClick="Button16_Click"
                                    Text="=" Width="28px" /></td>
                        </tr>
                    </table>
                    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1"
                        Font-Size="9pt" ValidationExpression="\d+">*请输入数字</asp:RegularExpressionValidator><%--</td>--%>
    </div>
    </div>
    </form>
</body>
</html>

后台:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
   
        public static double temp1;  //存储第一个变量
        public static double temp2;   //存储第二个变量
        public static int m;      //保存输入的状态
        public bool dot = false;   //判断是否点击“=”号
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (dot != true)
            {
                this.TextBox1.Text += "1";
            }
        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            if (dot != true)
            {
                this.TextBox1.Text += "2";
            }
        }
        protected void Button3_Click(object sender, EventArgs e)
        {
            if (dot != true)
            {
                this.TextBox1.Text += "3";
            }
        }
        protected void Button4_Click(object sender, EventArgs e)
        {
            if (dot != true)
            {
                this.TextBox1.Text += "4";
            }
        }
        protected void Button5_Click(object sender, EventArgs e)
        {
            if (dot != true)
            {
                this.TextBox1.Text += "5";
            }
        }
        protected void Button6_Click(object sender, EventArgs e)
        {
            if (dot != true)
            {
                this.TextBox1.Text += "6";
            }
        }
        protected void Button7_Click(object sender, EventArgs e)
        {
            if (dot != true)
            {
                this.TextBox1.Text += "7";
            }
        }
        protected void Button8_Click(object sender, EventArgs e)
        {
            if (dot != true)
            {
                this.TextBox1.Text += "8";
            }
        }
        protected void Button9_Click(object sender, EventArgs e)
        {
            if (dot != true)
            {
                this.TextBox1.Text += "9";
            }
        }
        protected void Button10_Click(object sender, EventArgs e)
        {
            if (dot != true)
            {
                this.TextBox1.Text += "0";
            }
        }
        protected void Button11_Click(object sender, EventArgs e)
        {
            if (this.TextBox1.Text != "")
            {
                temp1 = Convert.ToInt32(this.TextBox1.Text);
                this.TextBox1.Text = "";
                m = 0;
            }
        }
        protected void Button12_Click(object sender, EventArgs e)
        {
            if (this.TextBox1.Text != "")
            {
                temp1 = Convert.ToInt32(this.TextBox1.Text);
                this.TextBox1.Text = "";
                m = 1;
            }

        }
        protected void Button14_Click(object sender, EventArgs e)
        {
            if (this.TextBox1.Text != "")
            {
                temp1 = Convert.ToInt32(this.TextBox1.Text);
                this.TextBox1.Text = "";
                m = 2;
            }
        }
        protected void Button15_Click(object sender, EventArgs e)
        {
            if (this.TextBox1.Text != "")
            {
                temp1 = Convert.ToInt32(this.TextBox1.Text);
                this.TextBox1.Text = "";
                m = 3;
            }
        }
        protected void Button13_Click(object sender, EventArgs e)
        {
            dot = false;
            this.TextBox1.Text = "";
            temp1 = 0.0;
            temp2 = 0.0;
        }
        protected void Button16_Click(object sender, EventArgs e)
        {
            if (this.TextBox1.Text == "" && temp1 != null)
            {
                this.TextBox1.Text = temp1.ToString();
                dot = true;
            }
            else
            {
                double temp3 = 0.0;
                temp2 = Convert.ToDouble(this.TextBox1.Text);
                localhost.WebService result = new localhost.WebService();
                switch (m)
                {
                    case 0:
                        temp3 = result.Sum(temp1, temp2);
                        break;
                    case 1:
                        temp3 = result.Sub(temp1, temp2);
                        break;
                    case 2:
                        temp3 = result.Mult(temp1, temp2);
                        break;
                    case 3:
                        temp3 = result.Div(temp1, temp2);
                        break;
                    default:
                        Response.Write("数据有误,请重新输入!");
                        break;
                }
                if (temp3 > double.MaxValue)
                {
                    Response.Write("<script>alert('结果值超出双精度最大值!')</script>");
                    return;
                }
                this.TextBox1.Text = temp3.ToString();
                dot = true;
            }
        }
    }


 注意:

1.在实务中,建立web服务和引用是分开的,这里放在一起是便于学习。

2.a的操作生成的文件我可以把它嵌入某服务其中,然后www.xxx.net/WebService.asmx调用。

3.b的操作我可以在设置中修改部分配置,然后把这个程序放在另一个服务器中,调用。(  localhost.WebService result = new localhost.WebService();一定改一下,改成net.xxx.www.WebService result = new net.xxx.www.WebService();)

 

 

 

 

 

0 0