应用程序在共享主机中保持活动状态,无法访问 IIS 管理器

Application Keep Alive in shared hosting with no access to IIS Manager

我正在使用 GoDaddy 的共享主机。我的网站通常在一段时间后打开时每次都需要时间加载。我了解到 Asp.net 网站会在超时后重新启动。

然后我才知道我们可以通过 IIS 管理器使我们的网站保持活动状态。但是我无法访问 IIS 管理器,因为我使用的是共享主机。我每次都能保持我的应用程序有效吗?

我们在 web.config 中是否有任何设置可以使应用程序保持活动状态?

最后我在另一个网站上找到了解决方案:这里是 link Keep alive IIS without accessing IIS manager

万一link被摧毁。我会在这里解释一下:

将此代码添加到您的 global.asax 文件并在 App_Start 中调用它,这将通过 运行 一个简单的刷新工作自动使您的网站保持活力。

private static void _SetupRefreshJob()
{
   //remove a previous job
   Action remove = HttpContext.Current.Cache["Refresh"] as Action;
   if (remove is Action)
   {
       HttpContext.Current.Cache.Remove("Refresh");
       remove.EndInvoke(null);
   }
   //get the worker
   Action work = () =>
   {
       while (true)
        {
          Thread.Sleep(60000);
          WebClient refresh = new WebClient();
          try
          {
           refresh.UploadString("http://www.websitename.com/", string.Empty);
          }
          catch (Exception ex)
          {
                    //snip...
          }
          finally
          {
            refresh.Dispose();
          }
      }
  };
  work.BeginInvoke(null, null);

  //add this job to the cache
  HttpContext.Current.Cache.Add(
  "Refresh",
  work,
  null,
  Cache.NoAbsoluteExpiration,
  Cache.NoSlidingExpiration,
  CacheItemPriority.Normal,
  (s, o, r) => { _SetupRefreshJob(); }
  );
}