摘要:C# Webservice overload
有時候在 Webservice 上的一些方法需要採用 overload 的方式來增加
程式的維護姓 , 而這也是 OO 向來的寫法 , 可是對於 Webservice 而言必須
有個唯一的名稱 , 例如當我們在一個服務下建立相同名稱卻不同參數的方法
會馬上遭遇到下列問題 :
但是在 .Net 提供使用 MessageName 屬性來 overload 方法 ,
可是這時候會遭遇到另外一個問題 , 如下圖 :
這時我們可以注意到在我們的 webservice 建立之初都會增加下列字串 ,
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
這表示我們的服務必須符合 Web Services Interopability Organization's (WS-I) Baisc Profile 1.1
的規範 , 這個規範定義了一堆必須遵守的規則 , 為了解決這個問題 , 我們可以將上述修改如下 :
[WebServiceBinding(ConformsTo = WsiProfiles.None)]
如此一來將不會再發生上述的問題 , 但是可議的是 , 雖然在 .Net
你可以做到 , 但是並不被鼓勵 , 詳情可見 W3C 組織對這個議題的討論串 ( section 3-6 )
而在 MSDN 也有文章提到 , 可見網址
參考資料 :