我有一个MVC3应用程序需要30多秒才能执行global.asax Application_Start()。当App池重置后,当用户第一次点击该网站时,浏览器只是在那里等待“等待网站...”消息。在Application_Start()中显示“加载”消息
有没有办法显示“加载数据...”的信息/页面,让用户知道一切正常,耐心等待?
我有一个MVC3应用程序需要30多秒才能执行global.asax Application_Start()。当App池重置后,当用户第一次点击该网站时,浏览器只是在那里等待“等待网站...”消息。在Application_Start()中显示“加载”消息
有没有办法显示“加载数据...”的信息/页面,让用户知道一切正常,耐心等待?
不,没有办法显示Application_Start
的任何消息。 IIS 7.5有一个很酷的AutoStart feature,它允许你预先在内存中加载你的应用程序,从而避免长时间等待。另一种可能性是有一些外部服务定期查询您的网站,以避免它被IIS卸载。
如果您不能使用此功能,那么您将不得不减少/优化您在Application_Start
中所做的工作量,以便它不需要30秒。
你不能这么做,因为服务器没有响应,所以你不能做任何事情。
但如何实现心跳这将查询您的应用程序的任何网址,避免它不进入站立模式?
一个想法:设置外部服务来查询您的应用程序,每5分钟:
不一样的.NET应用程序中 - 你不能显示任何东西,从在Application_Start
之内。您可以创建另一个小应用程序作为着陆页,轮询您的主应用程序的响应,然后在获取响应后重定向。
但是更好的解决方案是将一些工作从Application_Start
中移出 - 您是不是可以让用户到达您的第一页,然后在他们登陆后调用初始化方法?
AutoStart看起来像票;谢谢! – nunzabar