Rob*_*Rob 5 sql-server-2005 sqlclr
在CLR存储过程中进行HttpWebRequest时(根据下面的代码),在(重新)启动Sql Server之后或在给定(但不确定)的时间段之后的第一次调用等待相当长的时间. GetResponse()方法调用.
有没有办法解决这个问题,不涉及"黑客",如每隔几分钟运行一次Sql Server Agent作业,以确保代理进行第一次"慢速"调用,而不是"真正的"生产码?
function SqlString MakeWebRequest(string address, string parameters, int connectTO)
{
SqlString returnData;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(String.Concat(address.ToString(), "?", parameters.ToString()));
request.Timeout = (int)connectTO;
request.Method = "GET";
using (WebResponse response = request.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(responseStream))
{
SqlString responseFromServer = reader.ReadToEnd();
returnData = responseFromServer;
}
}
}
response.Close();
return returnData;
}
Run Code Online (Sandbox Code Playgroud)
(为简洁起见,已删除错误处理和其他非关键代码)
另请参见此Sql Server论坛主题.
归档时间: |
|
查看次数: |
3579 次 |
最近记录: |