日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在 VS 类库项目中 Add Service References 和 Add Web References 的区别

發布時間:2023/12/10 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在 VS 类库项目中 Add Service References 和 Add Web References 的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題的引出:

1.在vs2005時代,Add Web Reference(添加Web服務引用)的功能主要是添加Web Service引用。基于.NET Framework 2.0。

2.自VS2008以后,為了對.NET Framework 3.0 或 3.5版本上WCF Service?Library的支持。增加了Add Service Reference(添加服務引用)功能。但為了版本向前兼容而保留了Add Web Reference(添加Web服務引用)。

生成引用文件的區別(本段來自于網上評論,僅供參考):

用兩種方式添加同一個WebService,生成?Reference.cs的區別:
1.主要添加引用都有一個獲取服務元數據,反序列話本地類文件的過程。這個結構也基本類似。都包含wsdl\discovery等文件。
這個也和WCF Service支持Web Service的核心行業標準有關系。畢竟WCF的特性之一就是兼容Web Service的特性。
2.不同的地方時Add Web Reference?生成的 Reference.cs文件里,包含一個服務代理類,他負責與Web服務通信,它繼承一個Soap類,使用SOAP協議,SOAP簡單對象訪問協議,基于XML語言。此外還包含一些Web服務類里定義的方法,和與之相關的異步調用方法和事件。遵守.NET Web Service 的主要規則。
3.Add Service Reference生成的客戶端文件 Reference.cs。我看了一下,這個也會反序列化一個本地代理類,很相似和前者。不過除了服務類和其相關的一些別的類和契約接口。其中比較重要就是一個契約和一個通信管道。這個主要和WCF框架的編程模型和反序列話機制有關系。因為WCF 強調的是 契約的概念,還有就是綁定協議,這個就直接決定了客戶端和服務端通信的通道類型。你在這個文件里也能看到。此外還有服務請求和相應對應的信息。遵循WCF服務框架的規則。

使用區別:

1.Add Web Reference:

構造實例 WebReference1.Service1 webs1 = new WebReference1.Service1()的構造方法不可重載。使用實例webs1時,可以通過webs1.Url來改變引用的地址。如:webs1.Url = "http://localhost:7280/Service1.asmx"。

2.Add Service Reference:

構造實例WebReference1.Service1 webs1 = new WebReference1.Service1()提供重載構造方法,默認構造方法引用的地址為<client>節點下<endpoint>中的配置地址,也可用ServiceReference1.Service1SoapClient?webs2 = new ServiceReference1.Service1SoapClient("Service1Soap", "http://localhost:7280/Service1.asmx")來指定服務地址。不可以再用webs2.Url = "http://localhost:7280/Service1.asmx"來改變服務地址。

使用區表小結:

Add Service Reference只能在構造實例實例時指定服務地址,不可動態改變。這樣可以再編譯時檢查出錯誤,以減少運行時錯誤。

總結

以上是生活随笔為你收集整理的在 VS 类库项目中 Add Service References 和 Add Web References 的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。