is there a way in c# to be able to ping a url every 15 minutes and get a response back from the server?
i want to try to see if .net can be used to build a simple to
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.
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.
You might not need to write your own:
http://learn.iis.net/page.aspx/688/using-the-iis-application-warm-up-module/
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.
You can NGEN your ASP.NET assemblies and combine that with Hector's warm-up answer.