在asmx网络服务中:
以下代码有效:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class WebService1 : WebService
{
[WebMethod]
public GetResultReportResponse GetResultReport(GetResultReportRequest request)
{
return new GetResultReportResponse();
}
}
public class GetResultReportRequest
{
}
public class GetResultReportResponse
{
}
但此变体不能:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class WebService1 : WebService
{
[WebMethod]
public GetResultReportResponse GetResultReport(string request)
{
return new GetResultReportResponse();
}
}
public class GetResultReportRequest
{
}
public class GetResultReportResponse
{
}
第二个产生消息“来自命名空间'http://tempuri.org/'的XML元素'GetResultReportResponse'引用方法和类型。”我知道可以通过在WebMethodAttribute上设置MessageName来解决此问题,但我不明白为什么会发生这种情况。
我知道更改方法的名称会有所帮助,但事实是,我需要它们具有那些名称,包括返回的类型和方法的名称
有什么可能会迫使它起作用?