【发布时间】:2015-06-12 04:56:03
【问题描述】:
我有一个 ASP.NET 页面,它进行 Web 服务调用并获得带有数据的响应,主要是进行测试调用以监视服务是启动还是关闭。由于有很多调用,我决定在它们自己的线程上运行它们,并在它们完成并返回后使用响应值更新网页上的 UI。
我之前在 Windows 窗体应用程序中使用 this.Invoke 方法来执行此操作,以使主线程然后更新标签文本,但通过我的搜索,我没有在 ASP 中找到类似的方法来执行此操作。我看到服务返回响应,并且更新标签文本的代码在每个辅助线程上运行,但标签文本没有任何变化。
是否有任何其他方法可以更改在主线程上创建的标签文本,使用类似于 Invoke 的辅助线程?
【问题讨论】:
-
(之前的一位评论者指出,原始请求将长时间完成,线程将重新分配到其他地方)。您可以查看 SignalR - 您的后台线程应该能够通过集线器发出通知,该通知可以通知客户端。它可能需要一些重大的设计更改/改造。
标签: c# asp.net multithreading