2009-10-05 95 views
17

我已經構建了一個常規的.NET asmx服務。我如何在此服務中重載Web方法?Web方法是否可以重載?

+0

的問題是,編譯器不會趕上它和錯誤消息不會爲您提供很多信息:「本地計算機上的(x)服務已啓動,然後停止。某些服務如果未被其他服務或程序使用,則會自動停止」。 – NicVerAZ 2016-01-04 16:43:05

回答

20

WS-I(Web服務互操作性)不支持重載。

+4

您可以通過禁用WS-I兼容性來做到這一點,但我無法將自己的建議作爲答案; -p對於所有明智的意圖,這是(IMO)正確的答案。 – 2009-10-05 21:54:18

0

編號Web服務方法名稱必須是唯一的。

1

是的。

WebMethod屬性接受一個MessageName參數,該參數允許您「重載」該方法。

13

你不能真的重載一個Web方法。當你考慮它時,這是有道理的,因爲Web方法的設計不依賴於底層技術,如OO語言,因爲它理論上可以運行在COBOL之類的東西上。

雖然你可以編寫看起來像它可以被重載的Web方法,你確實有它分配一個不同的名稱,如:

[WebMethod] 
public void Add(int x, int y) 
{ 
} 
[WebMethod(MessageName="AddFloat")] 
public void Add(float x, float y) 
{ 
} 
相關問題