我有一個asp.net mvc應用程序需要一段時間來加載我的生產服務器。我想編寫一個腳本來每10分鐘打電話給我的頁面,以避免頁面在服務器上被廢棄,這會導致服務器重新加載它們。如何使用SQL CLR方法調用網頁?
我想使用SQL Server存儲過程調用我的網頁,每10分鐘以保持頁活着。
我讀過,我可以做到這一點使用CLR,但我不知道怎麼樣。有沒有人有一個如何使用CLR在SQL存儲過程中調用網頁的例子?
我有一個asp.net mvc應用程序需要一段時間來加載我的生產服務器。我想編寫一個腳本來每10分鐘打電話給我的頁面,以避免頁面在服務器上被廢棄,這會導致服務器重新加載它們。如何使用SQL CLR方法調用網頁?
我想使用SQL Server存儲過程調用我的網頁,每10分鐘以保持頁活着。
我讀過,我可以做到這一點使用CLR,但我不知道怎麼樣。有沒有人有一個如何使用CLR在SQL存儲過程中調用網頁的例子?
我不知道你爲什麼會想使用存儲過程這一點。
只寫一個簡單的控制檯應用程序「呼」的頁面。然後使用計劃任務運行控制檯應用程序。
代碼未經測試,但類似的東西應該工作。
您可能還需要TRUSTWORTHY SET。
ALTER DATABASE Foo SET TRUSTWORTHY ON;
代碼:
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;
}
}
-1:特別是在SQL Server內部,我認爲你最好把response,dataStream和reader放入`using`塊中。 – 2011-01-13 04:08:37
我不知道你爲什麼會想使用存儲過程這一點。
只寫一個簡單的控制檯應用程序「呼」的頁面。然後使用計劃任務運行控制檯應用程序。
您可能做到這一點(當然),但是這不是問題,問什麼;)
Jafin的回答是這個問題是正確的。
的最好答案(恕我直言)將解決您的生產服務器(即重新配置設置),因此它不「廢」你每10分鐘頁。
爲什麼要使用手持式鑿岩機(控制檯應用程序或.NET數據庫或任何內)時,經常一個會做什麼?
我繼續建立一個Windows服務應用程序來做到這一點。 – Bill 2011-01-11 21:57:09