【发布时间】:2014-05-04 20:11:24
【问题描述】:
我正在编写一个小型内部网络应用程序。 我需要在按下按钮时执行一个很长的操作(可能需要大约一个小时),并在操作完成后告知用户其结果。
换句话说,我需要按钮来启动异步操作,并在完成后(运行大约一个小时后)刷新视图。
编辑:该操作可以在视图中使用某种刷新机制。结果可以在一小段延迟后发送到视图(不必实时刷新)
【问题讨论】:
-
在这种情况下你可以考虑WebSockets实现(SignalR)
-
看看async await,听起来它可以满足你的需求。
-
ASP.NET 和 IIS 不是针对这么长的操作构建的。您应该将您的工作发布到其他地方(Windows 服务?)并让页面轮询完成。
标签: c# asp.net-mvc model-view-controller async-await