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

C# 应用程序在共享主机中保持活动状态,无需访问IIS管理器,c#,asp.net,iis,web-config,C#,Asp.net,Iis,Web Config,我正在使用GoDaddy的共享主机。我的网站通常需要一段时间来加载,每次我打开它后一段时间。我知道Asp.net网站在超时后会重新启动 然后我才知道,我们可以通过IIS管理器保持网站的活力。但我没有访问IIS管理器的权限,因为我正在使用共享主机。我可以每次都保留我的应用程序吗 我们在web.config中是否有任何设置可以使应用程序保持活动状态?最后,我在另一个网站上找到了一个解决方案:这是链接 以防链接被破坏。我会在这里解释: 将此代码添加到你的global.asax文件中,并在App_Sta

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

然后我才知道,我们可以通过IIS管理器保持网站的活力。但我没有访问IIS管理器的权限,因为我正在使用共享主机。我可以每次都保留我的应用程序吗


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

最后,我在另一个网站上找到了一个解决方案:这是链接

以防链接被破坏。我会在这里解释:

将此代码添加到你的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(); }
  );
}

因为它不是编程,而是关于服务器配置的,所以它属于服务器故障。我要把它转到那里去