1.Net的Web Service主要有兩種,ASMX的Web Service和WCF的Web Service.后者是前者的功能增強版.比如前者只支持http協議,只能建在IIS上,安全性也依賴於IIS等,后者還支持MSMQ, Enterprise Service(似乎主要是面向COM的)等,多了一些配置(如可以配置成雙向的消息傳送),可以設置多個EndPoint,這樣對同一個服務,可以用不 同的方式訪問.可以建在Windows Service上或控制台程序即所謂self-hosting.兩者之間有幾個中間產品,如附加了SOAP Extension和后期的WSE的ASMX Web Service.
2.Web service的基本概念是:客戶端和服務端通過XML進行交互,在兩頭通過序列化和反序列化實現XML和對象的轉換.服務端將供客戶調用的接口用XML描述(如標准的WSDL),客戶根據描述生成本地代理,通過代理向服務端發SOAP消息,調用服務.
3.ASMX Web Service
1)在IIS上的配置: 若是IIS6.0,需要建一個虛擬目錄,指向asmx文件所在的目錄.若是IIS7.0,則建一個新站點. 如果ASP.Net是在IIS之前裝的,那么需要運行windows\microsoft.net\framework\v2.0.57(假設是用 asp.net 2.0)下的reg_iis.exe -i 注冊asp.net. 若還不能識別asmx,需要在IIS里,將asmx和aspnet_isapi.dll關聯.重啟IIS后就可以正確解析asmx了.
2)基本結構: 服務端需要一個asmx文件,下面是個例子,內容很簡單,就一個directive: < %@ WebService Language="C#" CodeBehind="~/App_Code/Service.cs" Class="Service" %> 真正的實現代碼放在service.cs文件里.