这只是一个简单的实例,适合想使用webservice,但是又不知道如何使用的朋友.
当然,前提是你已经对webservice有所了解了.至少知道它是什么,能做什么,如何能添加相关的引用.
这个Demo由两个asp.net网站组成,网站a提供了webservice的接口,网站b调用webservice.
步骤一
新建一个asp.net网站,然后添加一个"web 服务",也就是后缀是".asmx"的文件.
这里给起个名字叫MyWebService.asmx;里面会自动添加一个"hello world"的实例方法.
在这里再给它写四个加减乘除计算的方法,代码如下:
namespace Sigil.Zenith.sigil.zh_cn.task
{
/// <summary>
/// MyWebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class MyWebService : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod(Description="求和的方法")]
public double addition(double i, double j)
{
return i + j;
}
[WebMethod(Description="求差的方法")]
public double subtract(double i,double j)
{
return i - j;
}
[WebMethod(Description = "求积的方法")]
public double multiplication(double i, double j)
{
return i * j;
}
[WebMethod(Description = "求商的方法")]
public double division(double i, double j)
{
if (j != 0)
{
return i / j;
}
else
{
return 0;
}
}
}
}
这其中[WebMethod]是必须的,如果这个方法是想让用户调用到的话,如果有不想让用户调用的方法,就不加[WebMethod].
步骤二
再新建一个asp.net网站,添加"web 引用",
在需要实现引用的页面编写代码.
前台代码如下:
<%@ 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 runat="server">
<title>MyWebService</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="Num1" runat="server"></asp:TextBox>
<select id="selectOper" runat = "server">
<option>+</option>
<option>-</option>
<option>*</option>
<option>/</option>
</select>
<asp:TextBox ID="Num2" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="=" οnclick="Button1_Click" />
<asp:TextBox ID="Result" runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
前台代码没有可说的,下面是后台代码:
protected void Button1_Click(object sender, EventArgs e)
{
string selectFlag = selectOper.Value;
localhost.MyWebService web = new localhost.MyWebService ();
if (selectFlag.Equals("+"))
{
Result.Text = (web.addition(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();
}
else if (selectFlag.Equals("-"))
{
Result.Text = (web.subtract(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();
}
else if (selectFlag.Equals("*"))
{
Result.Text = (web.multiplication(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();
}
else if (selectFlag.Equals("/"))
{
Result.Text = (web.division(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();
}
}
"MyWebService "是webservice的文件名或者说类名.
运行一下页面就可以体验一下最简单的webservice功能了.
最后要感谢博客园魄力的博客http://www.cnblogs.com/denylau/archive/2010/07/23/1783530.html.