1.打开VS2012,选择“文件”=>“新建”=>“项目”,弹出“新建项目”窗口。
2.选择“Web”=>“ASP.NET空Web应用程序”,可以为新建项目设置“名称”、“位置”、“解决方案名称”,然后点击“确定按钮”,就创建了一个ASP.NET的空Web应用程序。
3.右键单击项目名称,选择“添加”=>“新建项”,弹出“添加新项”窗口。
4.选择“Web”=>“Web服务”选项,可以为新建项修改“名称”,然后单击“添加”按钮,成功添加了一个以.asmx为后缀的Web Services项。
5.打开新建的Web Service服务,修改代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; namespace MyWebService { /// <summary> /// Summary description for FirstService /// Web Service的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. // 若要允许使用ASP.NET AJAX从脚本中调用此Web服务,请取消注释以下行 // [System.Web.Script.Services.ScriptService] public class FirstService : System.Web.Services.WebService{ [WebMethod] public int ForSUM(int a, int b){ int sum = 0; for (int i = a; i <= b; i++){ sum += i; } return sum; } [WebMethod] public int ForMul(int a, int b){ int sum = 0; for (int i = a; i <= b; i++){ sum *= i; } return sum; } } }
6.将上述程序发布。然后在浏览器中打开可以看到下图:
7.下边开始测试Web Service,创建一个新的工程,并添加一个“Web窗体”。
8.右键单击项目下的“引用”,选择“添加服务引用”,弹出“添加服务引用”对话框。
9.单击左下角的“高级”按钮,弹出“服务引用设置”对话框。
10.单击左下角的“添加Web引用”按钮,弹出“添加Web引用”对话框。
11.在URL中输入发布的WebService的URL地址,可以点击URL后的按钮,系统将会搜索到该服务.并且为Web引用设置一个引用名.此引用名将是我们在项目中引用这个服务的命名空间。点击“添加引用”按钮,成功添加该引用。
12.在VisitForm.aspx中添加以下代码:
<form id="form1" runat="server"> <div> <table> <tr> <td> <asp:Label ID="labA" runat="server" Text="A">a</asp:Label> </td> <td> <asp:TextBox ID="txtA" runat="server"></asp:TextBox> </td> </tr> <tr> <td> <asp:Label ID="labB" runat="server" Text="B">b</asp:Label> </td> <td> <asp:TextBox ID="txtB" runat="server"></asp:TextBox> </td> </tr> <tr> <td> <asp:Button ID="btnSum" runat="server" Text="求和" OnClick="btnSum_Click" /> </td> <td> <asp:Button ID="btnMul" runat="server" Text="求积" OnClick="btnMul_Click" /> </td> </tr> </table> <asp:Label ID="labResult" runat="server" Text=""></asp:Label> </div> </form>
13.在VisitForm.cs中添加以下事件代码:
protected void btnSum_Click(object sender, EventArgs e) { FirstService fs = new FirstService(); int a = txtA.Text.ToString().Trim() == "" ? 0 : Convert.ToInt32(txtA.Text.ToString().Trim()); int b = txtB.Text.ToString().Trim() == "" ? 0 : Convert.ToInt32(txtB.Text.ToString().Trim()); labResult.Text = "求和结果:" + fs.ForSUM( a, b ).ToString(); } protected void btnMul_Click(object sender, EventArgs e) { FirstService fs = new FirstService(); int a = txtA.Text.ToString().Trim() == "" ? 0 : Convert.ToInt32(txtA.Text.ToString().Trim()); int b = txtB.Text.ToString().Trim() == "" ? 0 : Convert.ToInt32(txtB.Text.ToString().Trim()); labResult.Text = "求积结果:" + fs.ForMul(a, b).ToString(); }
14.运行结果显示如下:
求和:
求积:
时间: 2024-10-31 13:09:08