WebService:一種跨編程語言和操作系統平台的遠程調用技術,SOAP、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegration)之一, soap用來描述傳遞信息的格式, WSDL 用來描述如何訪問具體的接口, uddi用來管理,分發,查詢webService 。
SOAP:簡單對象訪問協議是交換數據的一種協議規范,是一種輕量的、簡單的、基於XML(標准通用標記語言下的一個子集)的協議,它被設計成在WEB上交換結構化的和固化的信息。
WSDL:網絡服務描述語言是Web Service的描述語言,它包含一系列描述某個web service的定義。
環境:VS2013
IIS:IIS6
一、搭建
1、新建項目,新增一個ASP.NET空Web應用程序,選擇.NET Framework4
2、在項目中,添加一個Web服務(ASMX)
3、在WebService1.asmx文件中添加服務端方法,此處添加一個測試方法
注意:在方法前不要遺漏 [WebMethod],使遠程Web客戶端可以調用此方法。
二、分布WebService
1、右鍵項目,選擇菜單中的“發布”
2、新建配置文件,“config1”
選擇連接選項,發布方法選擇文件系統,選擇WebService需要發布的位置
設置:配置成Release
發布webService,發布成功,輸出顯示發布成功,在目標位置可以看到如下文件。
注意:目標位置不可選擇桌面,桌面下的文件有訪問權限,容易導致下面發布到IIS上,無法訪問。至於C盤下的路徑是否都不可訪問,此處沒有測試過。
三、部署IIS
1、在Default Web Site下添加應用程序,設置別名,這個隨你高興,無所謂,物理路徑選擇之前WebService發布位置。
2、點擊瀏覽,可在瀏覽器中看到如下顯示,點擊“WebService1.asmx”,顯示服務器錯誤,我們可以看到版本信息那欄顯示的.NET Framework是2.0,
但是我們前面在創建WebService時選擇的是.NET Framework 4.0。
3、在應用程序池添加一個.NET Framework 4.0的程序池。
選擇WebService的應用程序的高級設置,把應用程序池改為新設置的程序池,重復上面2步驟,
在瀏覽器中就可以看到我們剛才在webService.asmx中添加的方法,
點擊服務說明,可以跳轉到wsdl模式下。
至此,WebService發布部署成功。
四、客戶端調用WebService服務端方法
1、新建項目,新建控制台應用程序,選擇項目,右鍵菜單,添加服務引用。
2、在地址處,添加之前發布的WebService服務,如在下拉處沒有找到,點擊"發現",即可找到,
選擇好地址后,點擊"轉到",可查看到服務。
3、點擊“高級”,點擊“添加Web引用”,URL選擇WebService服務,添加引用
添加成功,可在項目中看到web引用。
4、在客戶端程序中調用服務端方法
五、WebService和實體類的應用
1、在實體類前加上[Serializable],webService調用時[XmlInclude(typeof(Book))]
2、重新生成項目,發布WebService,在客戶端更新web引用,就可以調用Book實體和新建方法。
調用方法及結果如下:
3、有繼承類的使用