2012-01-15 66 views
1

我的共享主机提供程序每隔3分钟设置IIS回收应用程序池以进行闲置。 所以我的会话工厂经常重新创建(在应用程序启动时)。因为我有大约70-100个实体,所以建造工厂需要大约2-5秒。所以我的应用程序的冷启动时间很长。我没有访问IIS设置。在应用程序池回收后重新创建ISessionFactory

回答

1

您是否尝试过在首位是怠速停止您的网站?我使用uptime robot免费并每5分钟ping你的网站。此服务的好处是,它只会请求您设置为监视器的页面的标题,因此不会影响日志记录,例如Google Analytics(分析)。

但是,您需要测试一下,看看您的应用何时确实可以回收以查看正常运行时间机器人是否可以与您的共享主机提供商一起工作。最好的方法是每次会话工厂重新建立时记录。

+0

感谢您的服务。我可以设置期限吗?例如到2:30? – 2012-01-17 00:19:28

+0

不,但想知道为什么你想要这个?此服务会将您的网站每5分钟发出一次,并在发生故障时发出警报。 – Rippo 2012-01-17 12:43:51

+0

我的空闲超时时间是3分钟,所以我需要每3分钟打一次 – 2012-01-17 12:49:32

1

你可以做的事情不多。应用程序池回收关闭您的应用程序...

我想你可以试图通过让应用程序每2:45做一些事来愚弄回收站。

2

您可以通过在构建时而不是运行时生成代理来抵消设置工厂的大量成本。 This article解释步骤如何。

现实中,最简单的改变是要求应用程序池不经常回收(因为这对您的应用程序来说是一个昂贵的操作)。我确定他们已经把超时设置为“性能”设置,但是这确实会产生工作并放慢速度。

您可能无法直接访问IIS设置,但这不应阻止您联系供应商的技术支持并解决问题。

+0

这是否适用于中等信任环境?也是3.2兼容?只是好奇这一切...... – Rippo 2012-01-16 12:42:42

+1

IIRC,预生成代理是*必需*如果你想在中等信任环境中使用延迟加载。所以它应该工作:) – AlexCuse 2012-01-16 14:52:25

+0

它希望2.0从我:(和我的NHIb是3.2 – 2012-01-17 00:18:41

相关问题