webservice 简单入门 (NLY)

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         }
View Code

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);
        }
View Code

功能一样

区分服务器引用和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服务

原文地址:https://www.cnblogs.com/nanxiaoxiang/p/5077027.html