gpt4 book ai didi

c# - asp.net web 表单中的多线程 web 服务调用

转载 作者:太空宇宙 更新时间:2023-11-03 23:02:47 27 4
gpt4 key购买 nike

我有一个 aspx 页面来调用 Web 服务,每个调用可能需要几分钟,我想让它以多线程方式工作。基本上我想要的是当用户单击其中一个按钮时我想对我的网络服务进行服务调用,但我也希望用户能够单击其他按钮并在需要时进行其他服务调用。如果以后打电话比第一个更快完成,结果必须显示给用户,而无需等待第一个调用的结果。 (你可以考虑桌面sql编辑器应用程序)

但是我无法用我目前的方法来管理它。第一个电话总是阻止后面的电话,我想知道我是否可以做到这一点Web 应用程序中的一种行为。

我使用如下代码调用服务:

protected void GetResult_Click(object sender, EventArgs e)
{
ShowSelectData(sql, connStr, tabId);
}

private void ShowSelectData(string sql, string connStr, string tabId)
{
SqlServiceClient cli = new SqlServiceClient();
cli.ShowSelectDataCompleted += cli_ShowSelectDataCompleted;
cli.ShowSelectDataAsync(sql, connStr, tabId);
}
void cli_ShowSelectDataCompleted(object sender, SqlService.ShowSelectDataCompletedEventArgs e)
{
var res = e.Result;
//here I show resullts to user
}

我还将 Async="true"添加到我的 aspx 页面

最佳答案

Basically what I want is when user clicks one of the buttons I want to make a service call to my web service but I also want user to be able to click the other buttons and make other service calls

你问的可以通过ajax异步调用来完成;将调用服务(通过异步调用)和管理响应的负担留给您的客户。

当用户点击一个按钮时调用该服务;同时第一个调用正在执行客户端可以调用第二个,同时第一个和第二个正在执行客户端可以调用第三个...用户不会卡住等待第一个调用完成

如果您不能直接从 javascript 客户端调用服务,则该服务会调用其余服务并从您的客户端调用其余服务。

关于c# - asp.net web 表单中的多线程 web 服务调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42491562/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com