Asp.net 如何使用SQL CLR方法调用网页?
我有一个asp.net mvc应用程序,它需要一段时间才能加载到我的生产服务器上。我想写一个脚本,每10分钟调用一次我的页面,以避免页面在服务器上被废弃,这将导致服务器重新加载它们 我正在考虑使用SQL Server存储过程每10分钟调用一次我的页面,以使页面保持活动状态Asp.net 如何使用SQL CLR方法调用网页?,asp.net,sql,sql-server-2005,sqlclr,Asp.net,Sql,Sql Server 2005,Sqlclr,我有一个asp.net mvc应用程序,它需要一段时间才能加载到我的生产服务器上。我想写一个脚本,每10分钟调用一次我的页面,以避免页面在服务器上被废弃,这将导致服务器重新加载它们 我正在考虑使用SQL Server存储过程每10分钟调用一次我的页面,以使页面保持活动状态 我已经读到我可以使用CLR来做这件事,但我不知道如何做。有人举过如何使用CLR在SQL存储过程中调用网页的例子吗?我不知道为什么要使用存储过程来实现这一点 只需编写一个简单的控制台应用程序来“调用”页面。然后使用计划任务运行控
我已经读到我可以使用CLR来做这件事,但我不知道如何做。有人举过如何使用CLR在SQL存储过程中调用网页的例子吗?我不知道为什么要使用存储过程来实现这一点
只需编写一个简单的控制台应用程序来“调用”页面。然后使用计划任务运行控制台应用程序。代码未经测试,但类似的操作应该可以运行 您可能还需要可靠的设置
ALTER DATABASE Foo SET TRUSTWORTHY ON;
代码:
我不知道您为什么要为此使用存储过程 只需编写一个简单的控制台应用程序来“调用”页面。然后使用计划任务运行控制台应用程序 你可以这样做(当然),但这不是问题所要问的;) 贾芬的回答对这个问题是正确的 最好的解决办法(IMHO)是修复生产服务器(即重新配置设置),使其不会每10分钟“废弃”一次页面
当普通的jackhammer可以使用时,为什么还要使用jackhammer(数据库中的控制台应用程序或.net或其他什么?我已经开发了一个windows服务应用程序来实现这一点。-1:特别是在SQL Server内部,我想你最好使用块将响应、数据流和阅读器放在
内部。@John。确保代码是安全的。这只是为了说明“我该怎么做”的问题。因为我没有回答“我应该提问”这个问题。太多的开发者复制/粘贴他们在某处和其他地方看到的东西。修正代码,我将删除否决票。
public partial class WebProc
{
[SqlFunction()]
public static string WebQuery()
{
WebRequest request = HttpWebRequest.Create("http://www.google.com");
WebResponse response = request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader (dataStream);
string responseFromServer = reader.ReadToEnd();
return responseFromServer;
}
}