C# web方法是否可以重载?

C# web方法是否可以重载?,c#,.net,oop,C#,.net,Oop,我已经建立了一个常规的.NETASMX服务。如何在此服务中重载web方法?WS-i(web服务互操作性)不支持重载。否。web服务方法名称必须唯一。是 WebMethod属性采用MessageName参数,允许您“重载”该方法。您不能真正重载web方法。仔细想想,这是有道理的,因为web方法的设计不依赖于诸如OO语言之类的底层技术,因为理论上它可以在COBOL之类的东西中运行 虽然您可以编写一个看起来可以重载的web方法,但实际上必须为其指定一个不同的名称,如: [WebMethod] publ

我已经建立了一个常规的.NETASMX服务。如何在此服务中重载web方法?

WS-i(web服务互操作性)不支持重载。

否。web服务方法名称必须唯一。


WebMethod属性采用MessageName参数,允许您“重载”该方法。

您不能真正重载web方法。仔细想想,这是有道理的,因为web方法的设计不依赖于诸如OO语言之类的底层技术,因为理论上它可以在COBOL之类的东西中运行

虽然您可以编写一个看起来可以重载的web方法,但实际上必须为其指定一个不同的名称,如:

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

您可以通过禁用WS-I兼容性来做到这一点,但我不能让自己提出这一点作为答案-p从所有合理的角度来看,这是(IMO)正确的答案。问题是编译器无法捕捉到它,错误消息也没有向您提供太多信息:“本地计算机上的(x)服务启动然后停止。如果其他服务或程序未使用某些服务,则会自动停止”。