首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ISessionFactory在应用程序池回收后重新创建

ISessionFactory在应用程序池回收后重新创建
EN

Stack Overflow用户
提问于 2012-01-16 03:35:19
回答 4查看 394关注 0票数 1

我的共享主机提供商每3分钟设置一次IIS回收应用程序池用于空闲。因此,我的会话工厂经常重新创建(在应用程序启动时)。因为我有大约70-100个实体,它需要大约2-5秒来构建工厂。所以我的应用程序冷启动是相当长的。我没有访问IIS设置的权限。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-16 18:55:27

你有没有试过从一开始就阻止你的网站闲置?我使用的uptime robot免费的,每5分钟就会对你的网站进行一次ping。这项服务的好处是,它只请求您设置为监视器的页面的标题,因此不会影响日志记录,如Google Analytics。

然而,你将需要测试这一点,看看你的应用程序是否真的回收,看看正常运行时间机器人是否与你的共享主机提供商一起工作。最好的方法是在每次重新构建会话工厂时记录日志。

票数 1
EN

Stack Overflow用户

发布于 2012-01-16 04:33:12

如果您处于完全信任环境中(怀疑,但提供商可能愿意在这方面与您合作),您可以尝试序列化您的配置,这样就不需要每次都重新构建它。将所有实体映射合并到单个XML文档中也会有所帮助(只需作为构建步骤执行此操作,这样使用映射就不会是一场噩梦)。

更多信息请点击此处:http://nhibernate.info/blog/2009/03/13/an-improvement-on-sessionfactory-initialization.html

票数 2
EN

Stack Overflow用户

发布于 2012-01-16 20:04:56

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

从实际情况来看,最简单的更改是要求应用程序池不要如此频繁地回收(因为这对您的应用程序来说是一个昂贵的操作)。我确信他们已经将超时设置得非常低作为“性能”设置,但实际上这会产生工作并减慢速度。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8872697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档