
1,创建webservice服务器端
搭建网站,创建webservice
webservice.cs中的代码
namespace WebApplication1
{
/// <summary>
/// WebService1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{ [WebMethod]
///方法
public int add(int i,int j)
{
return i+j;
}
[WebMethod]
public int plus(int i, int j)
{
return i - j;
}
}
} 服务器发布后
2客户端
这里创建的是网站,
a) 网站添加web 引用
页面实现了加的功能
protected void btn_Click(object sender, EventArgs e)
{
int i,j;
int.TryParse(itxt.Text,out i);
int.TryParse(jtxt.Text,out j);
// webservice.WebService1 w = new webservice.WebService1();
ServiceReference1.WebService1SoapClient w = new ServiceReference1.WebService1SoapClient();
re.Text= w.add(i, j).ToString();
// w.plus(i, j);
}
b)当添加service reference 服务器引用时
protected void btn_Click(object sender, EventArgs e)
{
int i,j;
int.TryParse(itxt.Text,out i);
int.TryParse(jtxt.Text,out j);
// webservice.WebService1 w = new webservice.WebService1();
ServiceReference1.WebService1SoapClient w = new ServiceReference1.WebService1SoapClient();
re.Text= w.add(i, j).ToString();
// w.plus(i, j);
}
功能一样
区分服务器引用和web引用
(1)VS2005里提供的Add Web Reference(添加Web服务引用)的功能主要是添加Web Service引用。
(2)VS2008保留了Add Web Reference(添加Web服务引用)也是为了版本向前兼容。目前很多项目还是基于.NET Framework 2.0。
(3)VS2008在升级以后为了对.NET Framework 3.0 或 3.5版本上WCF Service Library的支持。增加了Add Service Reference(添加服务引用)功能。Framework3.0 或 3.5 时可用。
同时存在Add Service Reference、Add Web Reference 两者情况的项目类型是Web服务程序。包括Web Service项目。普通的控制台等类型是没有Add Web Reference 。
都是可以Add Web Reference的诶,控制台类型项目在Add Service Reference窗口有个Advanced按钮,其中仍然可以选择Add Web Reference。我觉得是微软建议使用Add Service Reference,但保留了Add Web Reference以保持兼容性。
我测试了使用Add Web Reference这种方式,可以添加WCF服务