c#中是否有一种方法可以每隔15分钟ping一个url并从服务器上获得响应?
我想尝试查看.net是否可用于构建一个简单的工具,让asp.net网站调用重新构建,以便第一个用户在应用程序启动时不会产生负载损失。 / p>
或者如果有人有另一种方法来实现同一目标...... 想法?提示?想法?
答案 0 :(得分:9)
通常推送版本的人应该在他们为了测试而上传网站后访问(确保没有被轰炸)。但如果您正在寻找程序化方法,WebClient
可能会有所帮助......
using (WebClient client = new WebClient())
{
client.DownloadString("http://wwww.sitename.com/");
}
然后使它成为一个exe并使用Windows调度程序来运行它。甚至可以将它放在WinService中并将状态报告给日志文件。
<强>更新强>
看起来VS2012现在在发布后打开页面,使推送网站的人成为第一个请求。
此外,如果您发现需要经常访问它(如上所述,每15分钟一次),您可能需要查看重新配置IIS / AppPool并将周期时间更改为更长的时间。 IIS本身可以节省未使用的资源,因此如果一段时间内未查询某个站点,它将实际释放内存以供其他应用程序使用。
答案 1 :(得分:5)
答案 2 :(得分:3)
您可以创建一个HttpWebRequest并使用Quartz.NET之类的东西来安排它。
答案 3 :(得分:1)
您可以发起WebRequest
- ping不会让网站重建。
答案 4 :(得分:1)
我会安装curl并使用计划任务来执行您想要的操作。
我已将它与powershell结合使用,以重启应用池。
答案 5 :(得分:0)
您可以NGEN ASP.NET程序集并将其与Hector的warm-up answer结合使用。