2

我有一个没有很多访问者的 .net 网站,这意味着当它访问时,它必须启动该站点,这需要一些时间。

使网站保持活力和准备就绪的最佳方式是什么?我在 Internet 上找到了几个 ping 服务,但我不确定这是否是要走的路。但如果是,我应该使用哪一个?

主机服务确实拥有许多其他客户的 Web 应用程序。

4

4 回答 4

3

如果您有权访问 IIS 配置,则可以执行以下操作。

在 IIS7 中。

  • 转到 IIS 树中您的服务器名称下的“应用程序池”项。
  • 然后右键单击包含您的应用程序的池并转到“高级设置”
  • 在进程模型下的高级设置中找到“空闲超时(分钟)”设置。
  • 将其设置为非常高的值,这将使您的应用程序保持运行。

在 IIS6 中。

  • 转到 IIS 树中您的服务器名称下的“应用程序池”项。
  • 然后右键单击包含您的应用程序的池并打开属性
  • 在属性对话框中转到性能选项卡并增加空闲超时 - 该选项卡上的第一个设置。

更改应用程序池的设置将更改该池中运行的所有应用程序的设置,因此请小心。您可能希望为您的 Web 应用程序创建一个单独的池。

于 2012-07-11T21:04:44.137 回答
1

我知道这个线程很旧,但设置Idle Time-out只会导致应用程序池工作进程保持活动状态。当你有一个回收政策(我认为你需要一个)时,无论如何它都会终止这个过程。=< .net 4 的唯一解决方案是调用页面。调用页面并不意味着您的应用程序已完全加载。例如,每个页面都可以有自己的程序集。

.net 4.5 及更高版本与 IIS 7.5 或更高版本相结合,具有执行此操作的内置功能:http ://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-应用程序初始化

于 2014-01-06T16:46:10.990 回答
1

对于解决方法,我总是使用计划作业/命令脚本来打开浏览器并在给定周期内访问该站点。

于 2012-07-12T06:17:17.563 回答
-1

这与您使用的 .Net 和 IIS 的版本无关,但对于 4.0 和 IIS 7,您可以添加一个 Web 配置键来指示 IIS 在请求不频繁时保留该站点。

将这些添加到您的 web.config;

<add key="UseAppKeepAlive" value="false" />
<add key="AppKeepAliveUrl" value="" /> 

如果使用带有集成管道模式的 IIS 7,则必须在 AppKeepAliveUrl 中指定指向站点根目录的 URL,例如http://yourdomain.com/Default.aspx

请参阅以下文章以获取指导;

http://www.mojoportal.com/using-the-appkeepalive-task-to-speed-up-a-low-traffic-site.aspx

于 2012-07-11T14:45:28.113 回答