在Application_Start()中显示“加载”消息

时间:2012-08-28 12:11:21

标签: asp.net asp.net-mvc-3

我有一个MVC3应用程序需要30多秒才能执行global.asax Application_Start()。当用户在重置应用程序池后第一次访问该站点时,浏览器就会在那里找到“等待网站...”消息。

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

3 个答案:

答案 0 :(得分:1)

不,无法显示来自Application_Start的任何消息。 IIS 7.5有一个很酷的AutoStart feature,它允许您在内存中预加载应用程序,从而避免漫长的等待。另一种可能性是使用一些外部服务定期查询您的站点,以便IIS不会卸载它。

如果您无法使用此功能,则必须减少/优化您在Application_Start中执行的工作量,以便不需要30秒。

答案 1 :(得分:0)

你不能以那种特别的方式做到这一点,因为没有来自服务器的响应,因此,你不能做任何事情。

但是如何实现一个心跳来查询应用程序的任何URL,避免它不进入站点模式?


一个想法:设置外部服务以每5分钟查询一次应用程序:

  

RestSharp requests on momentapp's restful api

答案 2 :(得分:0)

不在同一个.net应用程序中 - 您无法在Application_Start内显示任何内容。您可以创建另一个小应用程序作为登录页面,该页面会轮询主应用程序的响应,然后一旦获得响应,就会重定向。

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