You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET WebService异步方法调用返回值类型不匹配问题求助

问题原因与解决方案

原因分析

当你在WebForms项目中添加ASP.NET WebService的服务引用时,Visual Studio自动生成的客户端代理会将异步方法的返回值包装成响应对象(比如这里的HelloWorldResponse),而非直接返回你定义的string类型。这是SOAP服务的默认生成规则,响应对象会把原始方法的返回结果封装为自身的一个属性。

解决方法

你需要从HelloWorldResponse对象中提取实际的字符串结果,该属性的命名规则通常是[方法名]Result,也就是HelloWorldResult。

修改后的代码如下:

public partial class _Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        RegisterAsyncTask(new PageAsyncTask(GetFullName));
    }

    async Task<string> GetFullName()
    {
        var client = new TestService.TestServiceSoapClient();
        var response = await client.HelloWorldAsync();
        // 从响应对象中提取实际的字符串结果
        return response.HelloWorldResult;
    }
}

内容的提问来源于stack exchange,提问作者ClassY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 01:15:29