|
1、 添加web引用和添加服務(wù)引用有什么區(qū)別, Add Service References 和 Add Web References 有啥區(qū)別? 參考
http://social.microsoft.com/Forums/zh-CN/xmlwebserviceszhchs/thread/808d870b-49f1-47ac-b105-4beb580bcec6 (1)VS2005里提供的Add Web Reference(添加Web服務(wù)引用)的功能主要是添加Web Service引用。 (2)VS2008保留了Add Web Reference(添加Web服務(wù)引用)也是為了版本向前兼容。目前很多項(xiàng)目還是基于.NET Framework 2.0。 (3)VS2008在升級(jí)以后為了對(duì).NET Framework 3.0 或 3.5版本上WCF Service Library的支持。增加了Add Service Reference(添加服務(wù)引用)功能。Framework3.0 或 3.5 時(shí)可用。 你說(shuō)的情況我自己做了一下試驗(yàn),同時(shí)存在Add Service Reference、Add Web Reference 兩者情況的項(xiàng)目類型是Web服務(wù)程序。包括Web Service項(xiàng)目。普通的控制臺(tái)等類型是沒(méi)有Add Web Reference 。 我仔細(xì)對(duì)比了兩種方式添加同一個(gè) WebService生成的客戶端文件 Reference.cs, 有差別。 1.主要添加引用都有一個(gè)獲取服務(wù)元數(shù)據(jù),反序列話本地類文件的過(guò)程。這個(gè)結(jié)構(gòu)也基本類似。都包含wsdl\discovery等文件。 這個(gè)也和WCF Service支持Web Service的核心行業(yè)標(biāo)準(zhǔn)有關(guān)系。畢竟WCF的特性之一就是兼容Web Service的特性。 2.不同的地方時(shí)Add Web Reference 生成的 Reference.cs文件里,包含一個(gè)服務(wù)代理類,他負(fù)責(zé)與Web服務(wù)通信,它繼承一個(gè)Soap類,使用SOAP協(xié)議,SOAP簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議,基于XML語(yǔ)言。此外還包含一些Web服務(wù)類里定義的方法,和與之相關(guān)的異步調(diào)用方法和事件。遵守.NET Web Service 的主要規(guī)則。 3.Add Service Reference生成的客戶端文件 Reference.cs。我看了一下,這個(gè)也會(huì)反序列化一個(gè)本地代理類,很相似和前者。不過(guò)除了服務(wù)類和其相關(guān)的一些別的類和契約接口。其中比較重要就是一個(gè)契約和一個(gè)通信管道。這個(gè)主要和WCF框架的編程模型和反序列話機(jī)制有關(guān)系。因?yàn)閃CF 強(qiáng)調(diào)的是 契約的概念,還有就是綁定協(xié)議,這個(gè)就直接決定了客戶端和服務(wù)端通信的通道類型。你在這個(gè)文件里也能看到。此外還有服務(wù)請(qǐng)求和相應(yīng)對(duì)應(yīng)的信息。遵循WCF服務(wù)框架的規(guī)則。 ——————————————————————————– 同時(shí)存在Add Service Reference、Add Web Reference 兩者情況的項(xiàng)目類型是Web服務(wù)程序。包括Web Service項(xiàng)目。普通的控制臺(tái)等類型是沒(méi)有Add Web Reference 。 都是可以Add Web Reference的誒,控制臺(tái)類型項(xiàng)目在Add Service Reference窗口有個(gè)Advanced按鈕,其中仍然可以選擇Add Web Reference。我覺(jué)得是微軟建議使用Add Service Reference,但保留了Add Web Reference以保持兼容性。 我測(cè)試了使用Add Web Reference這種方式,可以添加WCF服務(wù) 來(lái)源:https://www./content-4-441151.html
|