怎样调用web service
最近在看一本.net的书籍,根据书上的内容写了一个简单的web service,web service文件是test.asmx,调用文件是test.aspx,虽然我按照书本上的代码写了下来,但还是出现了错误:
分析器错误信息: “Import”指令不支持“Namepace”属性。
源错误:
行 1: <%@ Import Namepace="MathService"%>
行 2: <Script language="C#" runat="server">
行 3: int operand1 = 0;
源文件: H:\wwwroot\guestbook\test.aspx 行: 1
两个文件的代码如下:
test.asmx
<%@ WebService Language="C#" Class="MathService"%>
using System;
using System.Web.Services;
public class MathService
{
[WebMethod]
public int Add(int a,int b)
{
return a + b;
}
[WebMethod]
public int Substract(int a, int b)
{
return a - b;
}
[WebMethod]
public int Multiply(int a , int b)
{
return a * b;
}
[WebMethod]
public int Divide(int a , int b)
{
if (b==0) return -1;
return a / b;
}
}
test.aspx
<%@ Import NameSpace="MathServiceSpace"%>
<Script language="C#" runat="server">
int operand1 = 0;
int operand2 = 1;
public void Submit_Click(object sender,EventArgs e)
{
try
{
operand1= Int32.Parse(Operand1.Text);
operand2= Int32.Parse(Operand2.Text);
}
catch (Exception)
{
Result.Text="数字初始化错误";
}
MathService Service=new MathService();
switch (((control)sender).ID)
{
case "Add":
Result.Text="计算结果:"+Service.Add(operand1,operand2).ToString;
break;
case "Subtract":
Result.Text="计算结果:"+Service.Subtract(operand1,operand2).ToString;
break;
case "Multiply":
Result.Text="计算结果:"+Service.Multiply(operand1,operand2).ToString;
break;
case "Divide":
Result.Text="计算结果:"+Service.Divide(operand1,operand2).ToString;
break;
}
}
</script>
<html>
<body>
<form runat="server">
Operand1:<asp:TextBox id="Operand1" runat="server"/><br>
Operand2:<asp:TextBox id="Operand2" runat="server"/><br>
<input type="button" id="Add" value="Add" OnServerClick="Submit_Click" runat="server"><br>
<input type="button" id="Subtract" value="Subtract" OnServerClick="Submit_Click" runat="server"><br>
<input type="button" id="Multiply" value="Multiply" OnServerClick="Submit_Click" runat="server"><br>
<input type="button" id="Divide" value="Divide" OnServerClick="Submit_Click" runat="server"><br>
<asp:Label id="Result" runat="server"/>
</form>
</body>
</html>