2010-12-23 100 views
2

我能夠重載webservice中的方法,雖然在訪問時它將兩種方法(與diff參數相同的方法)作爲不同的操作進行分類。Webservice方法重載

有什麼優勢?有什麼辦法可以實現從客戶端調用相同的方法,並根據它調用我需要的參數?

+1

你可以嘗試使用可選參數:void YourFunc(int param1,int param2 = 0){} – Guillaume86 2010-12-23 17:09:53

回答

2

操作重載是面向對象編程語言中可用的概念。但是,WebServices不僅限於面向對象的平臺。它們是以消息爲導向的,消息可以在任何你選擇的平臺上構建/解構。由於所有平臺都不提供操作重載,並且由於Web服務是用於跨平臺集成的,因此Web服務支持操作重載是非法的。

現在,現實情況稍有不同。我可以在網上看到幾篇文章,開發人員已經完成了這些工作OASIS自己似乎有些困惑,但他們最終還是ruled against operation overloading(見3.6節)。

3

有沒有辦法做到這一點,通過規則Web服務應該有唯一的名稱。但是.NET只提供了一個選項,用於重載方法的MessageName屬性。

+0

所以它不會超載,理想情況是它只是另一個操作。 – Mutant 2010-12-23 16:24:13