任何人都可以告诉我,有没有办法在IIS共享托管服务中运行进程。
假设情景类似于“我希望在3小时之后将电子邮件发送到电子邮件ID列表”,因此这里的挑战是不应该通过HTTP链接调用该进程。它应该是自动的。
我认为我们可以通过IIS工作进程执行此操作。
这一切都将发生在IIS7,.NET 3.5中的共享服务器(如GoDaddy)上
请有人给我指点。
提前致谢。
答案 0 :(得分:1)
很久以前就问过这个问题,但是为了它的价值 - 我最终使用Hangfire来处理我在ASP应用程序中长时间运行的任务。
如果您可以根据需要扩展/扩展,您可以轻松地将其配置为共享主机,然后配置专用服务器。
它非常易于使用,只需按照文档的步骤进行操作即可。
干杯, 安德鲁
答案 1 :(得分:0)
假设您有权安装服务,则应将其作为Windows服务编写并运行。
您可以从您的asp.net代码隐藏运行后台工作线程,但问题是IIS将在空闲相对较短的时间后终止该线程。我尝试了这条路线,尝试对地址列表进行地理编码(800+,来自SharePoint列表),IIS保持超时我的线程并停止它。我们最终将向SharePoint列表添加事件,该事件将在项目更改/添加到列表时进行地理编码。
您可以考虑的另一个选项是使用Windows Workflow API,它是专为此类事情而设计的。