2012-08-28 65 views
0

我有一个MVC3应用程序需要30多秒才能执行global.asax Application_Start()。当App池重置后,当用户第一次点击该网站时,浏览器只是在那里等待“等待网站...”消息。在Application_Start()中显示“加载”消息

有没有办法显示“加载数据...”的信息/页面,让用户知道一切正常,耐心等待?

回答

1

不,没有办法显示Application_Start的任何消息。 IIS 7.5有一个很酷的AutoStart feature,它允许你预先在内存中加载你的应用程序,从而避免长时间等待。另一种可能性是有一些外部服务定期查询您的网站,以避免它被IIS卸载。

如果您不能使用此功能,那么您将不得不减少/优化您在Application_Start中所做的工作量,以便它不需要30秒。

+0

AutoStart看起来像票;谢谢! – nunzabar

0

你不能这么做,因为服务器没有响应,所以你不能做任何事情。

但如何实现心跳这将查询您的应用程序的任何网址,避免它不进入站立模式?


一个想法:设置外部服务来查询您的应用程序,每5分钟:

RestSharp requests on momentapp's restful api

0

不一样的.NET应用程序中 - 你不能显示任何东西,从在Application_Start之内。您可以创建另一个小应用程序作为着陆页,轮询您的主应用程序的响应,然后在获取响应后重定向。

但是更好的解决方案是将一些工作从Application_Start中移出 - 您是不是可以让用户到达您的第一页,然后在他们登陆后调用初始化方法?

相关问题