我在 C# 中有一个 .Net 应用程序,我需要一些异步处理。用户将从 aspx 页面上传 PEOPLE 记录文件,系统应上传文件、解析文件、加载数据库中的人员,然后将文件移出上传到的初始目录。
我不希望用户必须等待,因为某些文件可能有数千条记录,系统可能需要一段时间才能完成所有记录。我基本上想返回一条消息,“感谢您上传文件。系统将处理它并在完成后向您发送电子邮件”。
我已经阅读了新的 async/await 关键字,但我不确定这是否是我应该采取的路线。我基本上只需要一个按钮事件处理程序来上传文件并启动一个“批处理”过程来完成对文件的处理,同时在 UI 上将控制权返回给用户以执行他/她想要在网站上执行的任何其他操作。
我想第二个问题是:在按钮事件处理程序方法中使用时,等待是否将控制权返回给用户?如果是这样,那么这对我来说似乎是一个完美的解决方案,因为它不会阻塞线程或用户。
我应该为此使用更好的方法或模式,还是 async/await 就足够了?