图3-6 除数为0导致本次除法失败
让我们先从服务器端的Web Service入手。将该Web Service命名为MathService,并在其中定义了一个名为Divide()的方法,用来执行除法操作。Divide()方法所接受的两个参数分别代表被除数和除数,其逻辑非常简单,代码如下:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class MathService : System.Web.Services.WebService
{
[WebMethod]
public int Divide(int a, int b)
{
return (int)(a / b);
}
}
这里有必要再次提醒一下,Web Service类要添加[ScriptService]属性,其中需要暴露给客户端的方法也要添加[WebMethod]属性——这些都是允许从客户端调用该Web Service代理的必要条件。
在ASP.NET页面中,添加ScriptManager控件以及上述Web Service的引用:
<asp:ScriptManager ID="sm" runat="server">
<Services>
<asp:ServiceReference Path="Services/MathService.asmx" />
</Services>
</asp:ScriptManager>
然后在ASP.NET页面中定义程序的界面:
<input id="tbA" type="text" style="width: 40px" /> /
<input id="tbB" type="text" style="width: 40px" /> =
<input id="btnInvoke" type="button" value="?"
onclick="return btnInvoke_onclick()" />
<div id="result"></div>
其中前两个<input />(id分别为tbA和tbB)用来让用户输入被除数和除数;第三个<input />(id为btnInvoke)则作为按钮(type="button")用来触发对服务器端Web Service的调用,并显示除法完成后的商;下面id为result的<div />用来显示可能出现的异常信息。
文章来源于领测软件测试网 https://www.ltesting.net/