c#ping a网站?(维持生命服务)

c#ping a网站?(维持生命服务),c#,asp.net,keep-alive,C#,Asp.net,Keep Alive,在c#中有没有一种方法可以每隔15分钟ping一个url,然后从服务器得到响应 我想尝试看看是否可以使用.net来构建一个简单的工具,让asp.net网站调用重新构建,以便在应用程序启动时第一个用户不会招致负载惩罚 或者如果有人有其他方法来实现同样的目标。。。 思想?提示?想法?你可以创建一个HttpWebRequest,并使用类似的东西来安排它。你可以只启动一个WebRequest-ping不会让网站重建。通常,发布发布版本的人应该在上传网站后访问,只是为了测试(确保没有被炸坏)。但如果您正在

在c#中有没有一种方法可以每隔15分钟ping一个url,然后从服务器得到响应

我想尝试看看是否可以使用.net来构建一个简单的工具,让asp.net网站调用重新构建,以便在应用程序启动时第一个用户不会招致负载惩罚

或者如果有人有其他方法来实现同样的目标。。。
思想?提示?想法?

你可以创建一个HttpWebRequest,并使用类似的东西来安排它。

你可以只启动一个
WebRequest
-ping不会让网站重建。

通常,发布发布版本的人应该在上传网站后访问,只是为了测试(确保没有被炸坏)。但如果您正在寻找一种编程方法,
WebClient
可能会有所帮助

using (WebClient client = new WebClient())
{
  client.DownloadString("http://wwww.sitename.com/");
}
然后将其设置为exe并使用windows计划程序运行它。甚至可以将其放入WinService并向日志文件报告状态

更新:

看起来VS2012现在在发布后打开了页面,使得推送站点的人成为第一个请求


此外,如果您发现必须频繁访问它(如问题中所述,每15分钟一次),您可能需要查看重新配置IIS/AppPool并将周期时间更改为更长的时间。IIS本机保存未使用的资源,因此如果一个站点在一段时间内未被查询,它实际上会释放内存供另一个应用程序使用。

您可能不需要编写自己的:

我会安装并使用计划任务来完成您想要的任务


我已经将它与powershell结合起来重新启动应用程序池。

你可以将你的ASP.NET程序集与的结合起来。

通常推送版本的人应该在上传网站后访问“绝对应该发生什么@Greg B负载平衡环境中并不总是这样。如果你有100台服务器呢?@RobStevenson Leggett Fair point。尽管我希望负载平衡器或应用程序在这种规模上有一些健康监控。