我在ASP.NET中创建了这个Web应用程序。该应用程序最初是在VS2010上的MVC3中开发的,但最近我们已将其迁移到VS2012 MVC4。
迁移的原因是我们需要使用MVC4和OS win 8支持的SignalR。 (SignalR在早期版本中工作,我知道这一点,但它使用了回退方法。因此我们必须迁移。)
我们也在使用Fluent Nhibernate。它目前在IIS 8上本地托管。
现在问题就在这里。 应用程序第一次完美加载。实际上,它是针对前几个请求而这样做的。但经过几次请求后回复太慢了。有时它只是崩溃。刷新总是崩溃。
还有其他人遇到过这样的问题吗?
任何帮助都会非常有用。谢谢你:)
编辑:
这个人在这里面对的是什么,但只有在几个请求之后它才会发生 Why is the ASP.NET/Visual Studio Web Development Server so slow?
答案 0 :(得分:2)
在没有看到任何代码的情况下我只能猜到,但是我遇到了一个问题,即使用Fluent NHibernate运行的应用程序逐渐变慢。这可能是你可能做错的两件事:
确保整个应用程序的会话工厂都存在。例如,我有以下代码(使用Microsoft Unity)来注册我的依赖项:
builderContext.Container.RegisterType<ISessionFactory>(new ContainerControlledLifetimeManager(), new InjectionFactory(c => {
return BuildSessionFactory();
}));
其次确保在每次请求后关闭NHibernate会话。例如,假设您将会话存储在HttpContext.Current.Items
中,然后在Application_EndRequest
事件中(在Global.asax文件中),您会说:
var session = HttpContext.Current.Items["NameOfCache"] as ISession;
if (session != null && session.IsOpen)
session.Close();
第二个更有可能导致应用程序逐渐变慢。我希望这会有所帮助。