c# ping a website? (keep-alive service)

安稳与你 提交于 2019-11-30 20:37:21

Typically the person pushing a release should visit after they've uploaded the site just for test sake (make sure nothing bombed out). But if you're looking for a programmatic approach, WebClient may be helpful...

using (WebClient client = new WebClient())
{
  client.DownloadString("http://wwww.sitename.com/");
}

Then make it an exe and use the windows scheduler to run it. Could even put this in a WinService and report status to log files.

Update:

It looks like VS2012 now opens the page after a publish, making those pushing the site be the first-request.

Also, if you find you're having to visit it that frequently (every 15 minutes as mentioned in question) you may want to look in to reconfiguring the IIS/AppPool and change the cycle time to something longer. IIS natively conserves resources that are not used, and so if a site hasn't been queried in a while it will actually release the memory for another application to use.

You could create a HttpWebRequest and use something like Quartz.NET to schedule it.

You can just fire off a WebRequest - a ping won't get the website to rebuild.

I'd install curl and use a scheduled task to do what you want.

I've combined it with powershell to restart app pools too.

Jesse C. Slicer

You can NGEN your ASP.NET assemblies and combine that with Hector's warm-up answer.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!