【发布时间】:2013-02-20 08:23:33
【问题描述】:
基本上,我有一个网站,它会运行一个后台任务来执行一些“维护”职责,而不是空闲。空闲时,这些进程不需要运行。
现在我有一个辅助网站(主站点下的虚拟目录)也需要执行这些任务。但是它们不能同时运行它们,否则会导致问题。
现在更正确的解决方案可能是合并站点,将任务分解到不同的应用程序中,或者更改任务以使它们在同时运行时不会相互冲突。出于某种原因,这些不是(当前)选项。
所以基本上当辅助网站处于活动状态时,确保主网站处于唤醒状态并运行这些任务的最佳方法是什么?
我认为最简单的解决方案是在辅助网站中包含对主网站的引用,这样辅助网站上的任何页面加载都会强制第一个网站成为请求的服务器。类似于 1px 的图像。
但是通过 IIS 会更好地解决这个问题吗?他们应该共享同一个应用程序池吗?这两个应用程序都相对稳定,所以我不太担心一个网站会影响另一个网站。
【问题讨论】:
-
为每个站点编写一个 1 方法 Web 服务,并从另一端使用它来检查后端所需的任何内容。
-
请注意,这不是适合这项工作的工具。您应该有一个 Windows 服务/计划作业来进行维护或调用您网站上的页面并让它进行维护。请注意,如果作业是长期存在的,您需要处理超时和资源限制以防止它被杀死 - 这可能会对您网站的其他地方产生负面影响。