提问人:ClassY 提问时间:1/14/2023 最后编辑:ClassY 更新时间:1/14/2023 访问量:67
获取 WebService 异步函数的值
get value of webservice async function
问:
我有一个简单的 asp.net 网络服务,它有一个简单的异步函数,如下所示:
public class TestService : System.Web.Services.WebService
{
[WebMethod]
public async Task<string> HelloWorld()
{
await Task.Delay(TimeSpan.FromSeconds(2));
return "Hello World";
}
}
我想在我的 asp.net webforms 应用程序中获得它的结果,如下所示:
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();
return await client.HelloWorldAsync();
}
}
但我收到错误:
CS0029 Cannot implicitly convert type 'digital_sig_webapp.TestService.HelloWorldResponse' to 'string'
我在这里期待结果类型的字符串,那么发生了什么? 我怎样才能从中获得价值?
答:
-1赞
MD Zand
1/14/2023
#1
你要找的是 HelloWorldResponse 的文件之一。名称应为 HelloWorldResult。所以你的代码可以是这样的(未测试):
async Task<string> GetFullName()
{
var client = new TestService.TestServiceSoapClient();
var response = await client.HelloWorldAsync();
return response.HelloWorldResult;
}
评论
0赞
ClassY
1/14/2023
我们仍然会得到Cannot implicitly convert type 'digital_sig_webapp.TestService.TaskOfString' to 'string'
评论