繁体   English   中英

ASP.Net / C#4.5 —异步处理—异步等待

[英]ASP.Net / C# 4.5 — Async Processing — Async Await

我正在寻找什么方向,这是我应该走的最佳路线。 我已经发布了几次,讨论了一些推荐的设计模式。 根据我要完成的工作,我还没有真正得到好的指导。 我是异步处理新手,并且希望您能向正确的方向提出一些建议。 到目前为止,在我以前的一篇文章中,我被称为无知的,因为我要求提供代码示例。 请理解我一直在阅读所有内容,并尝试着可以在互联网上找到的所有内容。 不用说,我可以采用很多不同的方向,而且我不确定哪个是最好的。

我将在较高的级别上解释我想做的事情,如果有任何人可以向我指出正确的方向来帮助我,我将不胜感激。 另外,如果有人可以指出一些代码示例,我也很乐意。 我不介意阅读这些材料,但是如果我能看到遵循其说明的代码,那将变得更加有意义。 我发现的大多数文档都有代码示例或部分代码示例,并且我一直在尽力尝试使用发现的功能来满足我的特定需求。 到目前为止,还没有太大的运气。 我承认,当涉及到ASYNC处理时,我想我很无知。 :)

无论如何,这就是我要完成的工作。 我遗漏了我可能考虑使用的任何特定技术,以避免争论我发布的内容是否过时或落后于时代。 我正在寻找一个朝着正确方向发展的观点,并且我对此开放。 我只需要使这个工作。

这是我需要做的基础

  1. 我有一个正在使用的ASP.Net网站“项目”。
  2. 我有一个屏幕,用于使用Active Reports 7打印报告。
  3. 我的任务是允许用户单击“打印/预览”按钮并启动报告处理。
  4. 运行报表时,我需要使用户能够单击“取消”按钮并终止处理并返回到报表屏幕。 (因此,在处理报告的这段时间内,UI需要响应,以便用户可以单击“取消”按钮。)
  5. 在处理报告时,我需要显示一条弹出消息以指示该报告正在运行。
  6. 报告完成处理后,我需要隐藏此弹出消息,以向用户指示报告已完成。 然后,我需要打开要由用户查看的报告。 当前,这是我们在报表处理代码期间准备的javascript函数,它将打开一个新窗口并调用报表查看器。 (因此,在报告完成后,我需要能够调用javascript函数。)

如果有人能指出我正确的方向,我将非常感激。 我不介意进行腿部工作和阅读大量文档。 我只需要能够知道我正在寻找的内容即可为我提供上述功能。 就像我之前说的,不管是否了解,如果我可以获得一些示例工作代码(不要求任何人为我编写代码,只需我可以逐步通过一些代码来帮助理解正在发生的事情),它将大有帮助。

预先感谢您的时间和考虑。

因为您希望在服务器端进行一些操作以及UI响应并显示进度。 显示事件的进度。 我建议使用Signalr.Net。

http://signalr.net/

http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr

这是一个实时的Web api,您可以使用它创建一个具有“ ProcessReport”和“ cancelProcessing”功能的集线器,在单击该按钮时打开连接时可以从javascript调用它,并显示带有取消按钮的进度弹出窗口。 在操作完成后,在js中用集线器注册一个客户端事件,说“ updatestatus”,可以从服务器调用该事件以关闭弹出窗口并最终关闭信号器连接。 同样,在弹出的取消单击中,您可以再次调用集线器功能cancelProcessing并执行取消操作,并使用updateStatus进行回调。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM