C# 如何保持ASP.NET运行
下面是我的例子,我想用ASP.Net创建一个web应用程序, 我有一个简单的UI,它有两个文本框和一个名为“RUN”的按钮 这两个文本框分别表示名字和姓氏 用户可以输入值并单击“运行” 我有一个函数,可以访问Mongo数据库并获取所有的文档,其中名字和姓氏与用户要求的匹配 然后将结果写入输出文件“Excel工作表” 然后,“mongo”函数返回到“Button\u Click”函数 它将进入磁盘并上传excel表,并为用户提供一个保存“窗口”,以便用户可以下载该文件。 我只在我的本地机器上测试过这个,似乎工作得很好,现在我不确定当我移动到另一台机器时它会如何工作。 但这不是我的问题 问题是,我想添加第三个文本框,用户可以在其中输入要转储excel文件的位置。可以在第三台服务器上,该服务器可以从“web应用程序所在”的客户端和服务器访问。 原因是某些查询可能需要15或20分钟,用户不希望其web浏览器一直运行。因此,在指定所需信息“firstName,LastName”以及excel文件的保存位置后,他可以单击运行并关闭web浏览器。程序将在后台运行,将excel文件转储到指定位置,并向用户发送电子邮件,通知该文件已准备就绪并已复制到所需位置,以便他/她稍后检查。C# 如何保持ASP.NET运行,c#,asp.net,.net,web,C#,Asp.net,.net,Web,下面是我的例子,我想用ASP.Net创建一个web应用程序, 我有一个简单的UI,它有两个文本框和一个名为“RUN”的按钮 这两个文本框分别表示名字和姓氏 用户可以输入值并单击“运行” 我有一个函数,可以访问Mongo数据库并获取所有的文档,其中名字和姓氏与用户要求的匹配 然后将结果写入输出文件“Excel工作表” 然后,“mongo”函数返回到“Button\u Click”函数 它将进入磁盘并上传excel表,并为用户提供一个保存“窗口”,以便用户可以下载该文件。 我只在我的本地机器上测试过
这可行吗?当用户关闭浏览器时,程序将如何运行??我需要两个不同的项目吗 对于ASP.Net中那种长时间运行的进程,我们通常使用后台任务,例如
您可能需要阅读。关键是您需要对服务器上的某些函数进行异步调用,以便在不让用户等待浏览器的情况下为您完成工作。为此,您可以使用异步服务操作编写WCF服务。WCF服务将托管在服务器上的windows服务或IIS下,实现将包括您想要的功能(例如查询数据库、创建excel文件、在服务器上写入文件和发送电子邮件),所有这些都应该包含在WCF服务实现中,在ASP.NET中,您只需单击按钮,即可获取用户输入并异步调用WCF服务中定义的异步函数(通过您将提供的合同) 请为我读这个
用户单击“运行”按钮后,服务器将继续执行该过程,直到完成为止。服务器不知道用户是否正在等待或已关闭其浏览器。至少您可以花一些时间编写一个可读性好的问题。一个好的问题也能帮助你自己找到答案。