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 引用
页面实现了加的功能
1 protected void btn_Click(object sender, EventArgs e) 2 { 3 int i,j; 4 int.TryParse(itxt.Text,out i); 5 int.TryParse(jtxt.Text,out j); 6 // webservice.WebService1 w = new webservice.WebService1(); 7 ServiceReference1.WebService1SoapClient w = new ServiceReference1.WebService1SoapClient(); 8 re.Text= w.add(i, j).ToString(); 9 // w.plus(i, j); 10 }
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服务