我有以下情况:
1)用户通过Asp.net网页上传文件
2)Web页面将文件传递给FileFlowManagerBLL,FileFlowManagerBLL检查文件并将其上传到数据库
3)我想调用一个后台Web服务方法,顺便提一下在同一个项目中,这样Web服务就可以从上传的文件中开始大量的数字运算。在调用Web服务方法之后,我想将控件返回给用户而不等待它完成,显示文件已成功更新的消息,并且用户将在数据处理完成后收到电子邮件。
4)Web服务完成数字运算,比如30 - 60分钟或更多,并调用向用户发送电子邮件的相关代码。
我需要一些指导来实现第3步,即如何异步调用Web服务方法,以便将控件返回给用户,并且他/她可以在完成数字运算时查看Web应用程序的其他页面。 / p>
答案 0 :(得分:1)
一种方法是将您的WCF服务作为Windows服务托管。您的初始Web服务(在检查文件之后)可以将其写入某个目录。然后在Windows服务中,您可以创建一个FileSystemWatcher,在该目录中查找新文件,如果发现任何文件可以调用您的处理方法。