asmx函数的名称对此返回类型不起作用

时间:2019-12-06 13:32:13

标签: c# xml wsdl asmx

在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来解决此问题,但我不明白为什么会发生这种情况。

我知道更改方法的名称会有所帮助,但事实是,我需要它们具有那些名称,包括返回的类型和方法的名称

有什么可能会迫使它起作用?

0 个答案:

没有答案