Как использовать метод SQL CLR для вызова веб-страницы? - PullRequest
0 голосов
/ 11 января 2011

У меня есть приложение asp.net mvc, которое загружается на моем рабочем сервере.Я хотел бы написать скрипт, который будет вызывать мои страницы каждые 10 минут, чтобы избежать их удаления на сервере, что затем заставило бы сервер их перезагрузить.

Я думал об использовании хранимого в SQL ServerПроцедура вызова моих страниц каждые 10 минут, чтобы сохранить их живыми.

Я читал, что могу сделать это с помощью CLR, но я не уверен, как это сделать.У кого-нибудь есть пример того, как вызывать веб-страницы в хранимой процедуре SQL с помощью CLR?

Ответы [ 3 ]

6 голосов
/ 11 января 2011

Я понятия не имею, почему вы хотите использовать хранимую процедуру для этого.

Просто напишите простое консольное приложение, чтобы "вызвать" страницу.Затем используйте запланированное задание для запуска консольного приложения.

1 голос
/ 13 января 2011

Код не проверен, но что-то вроде этого должно работать.

Возможно, вам также потребуется 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;
   }
}
0 голосов
/ 21 июля 2011

Я понятия не имею, почему вы хотите использовать хранимую процедуру для этого.

Просто напишите простое консольное приложение, чтобы «вызвать» страницу. Затем используйте запланированное задание для запуска консольного приложения.

Вы могли бы сделать это (конечно), но вопрос не в этом;)

Ответ Джафина на вопрос правильный.

Лучший лучший ответ (ИМХО) должен был бы исправить ваш рабочий сервер (то есть перенастроить настройки), чтобы он не «ломал» ваши страницы каждые 10 минут.

Зачем использовать отбойный молоток (консольное приложение или .net внутри базы данных или что-то еще), когда обычное будет делать?

...