繁体   English   中英

如何保持ASP.NET运行

[英]How to keep ASP.NET running

所以这是我的情况,我想使用ASP.Net创建一个Web应用程序,我有一个简单的UI,其中包含两个文本框和一个名为“ RUN”的按钮,这两个文本框用于用户可以输入值的名字和姓氏然后点击运行

我有一个访问Mongo数据库并获取所有文件的文件,其中名字和姓氏与用户要求的匹配,然后将结果写入输出文件“ Excel工作表”,然后该“ mongo”函数返回到“ Button_Click” ”功能进入磁盘并上传该Excel工作表,并为用户提供一个保存“窗口”,以便用户可以下载文件。 我只在本地计算机上进行了测试,但似乎工作正常,现在我不确定当移至另一台计算机时该如何工作。 但这不是我的问题,

问题是 ,我想添加第三个文本框,用户可以在其中输入他/她希望将excel文件转储到的位置。 可以位于可从客户端和“托管Web应用程序”的服务器访问的第三台服务器上。 原因是某些查询可能需要15或20分钟的时间,并且用户不希望他/她的Web浏览器一直运行。 因此,在指定所需的信息“ firstName,LastName”以及excel文件的保存位置后,他可以单击“运行”并关闭Web浏览器。 该程序将在我假设的后台运行,并将 excel文件转储到指定的位置,并向用户发送电子邮件,通知该文件已准备好并已复制到所需的位置,以便他/她稍后可以进行检查。 这可行吗? 以及当用户关闭浏览器时该程序将如何运行? 我需要两个不同的项目吗?

对于ASP.Net中这种长期运行的过程,我们通常使用hangfire等后台任务。

您可能需要阅读如何在ASP.NET中运行后台任务

关键是您需要对服务器上的某些函数进行异步调用才能为您完成工作,而不会让用户在浏览器上等待。 为此,您可以编写具有异步服务操作的 WCF服务。WCF服务将托管在Windows服务或服务器上的IIS下,实现将包含所需的功能(例如查询db,创建excel文件,编写服务器上的文件并发送电子邮件),所有这些都应放在WCF服务实现中,然后从ASP.NET中单击按钮,即可获取用户输入并异步调用WCF服务中定义的异步函数(通过您将提供的合同)

阅读此内容,了解如何:实现异步服务操作

暂无
暂无

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

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