摘要:本文以MSDN中的例子实现一个简单的Web Service,并做部署和调用说明,关于Web Service的定义、原理请参见其他百度和谷歌。
目录:
- WebService实现
- WebService部署
- WebService调用
内容:
一、WebService实现
- 在visual studio中新建ASP.NET Web服务应用程序,取名MyWebService。
- 删除自动生成的代码,输入以下代码段,类WebServiceDemo包括两个方法:
/// <summary>
/// WebServiceDemo 的摘要说明
/// </summary>
[System.Web.Services.WebService(Namespace = "http://tempuri.org/",
Description = "华氏温度转换WebService.")] //WebService属性
public class WebServiceDemo : System.Web.Services.WebService
{
[WebMethod(Description="返回Hello World的方法")]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod(Description = "将华氏温度转换为摄氏温度的方法.")]
public double ConvertTemperature(double dFahrenheit)
{
return ((dFahrenheit - 32) * 5) / 9;
}
}
二、WebService部署
- 调试通过后发布WebService。
- 将发布后的文件目录拷贝的Web服务器(安装有IIS的机器),创建虚拟目录,和发布网站一样,指向该目录。如下图:
- 本机测试,如下图:
远程地址:http://10.10.50.60:8081/WebServiceDemo.asmx
- 新建ASP.NET Web应用程序,在Default.aspx页面中添加控件如下:
- 添加Web引用,Web引用名:WebReference。如下图:
- 添加相关调用代码如下:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
WebReference.WebServiceDemo s = new WebReference.WebServiceDemo();
//调用WebService的HelloWorld方法,返回"HelloWorld",并输出.
Response.Write(s.HelloWorld());
}
protected void btnConvert_Click(object sender, EventArgs e)
{
WebReference.WebServiceDemo s = new WebReference.WebServiceDemo();
//调用WebService的ConvertTemperature方法,实现温度转换.
labResult.Text = "转换后的温度是:" + s.ConvertTemperature(double.Parse(txtResult.Text));
}
}
- 调用测试结果,如下图:
完。