Вызовите страницу asp.net (обработчик ashx) с другой страницы asp.net - PullRequest
0 голосов
/ 12 июля 2010

У меня есть страница администратора в asp.net, которая добавляет данные в базу данных. Эта база данных доступна в виде строки JSON для внешних веб-сайтов, однако, поскольку данных много, внешние веб-сайты кэшируют эти данные локально.

Я хочу иметь возможность пинговать внешние веб-сайты, чтобы сообщить им, что данные изменились, чтобы они могли обновить свой кэш. Я полагаю, что могу настроить обработчик ASHX, который получает параметр, сообщающий им, какие данные были изменены, чтобы они могли как удалить эти данные, так и обновить их.

Единственная часть, в которой я не уверен, это лучший способ вызвать эту внешнюю страницу со страницы моего администратора. Должен ли я сделать обычный WebRequest и отменить результат? или есть более простой способ вызвать страницу из кода, когда вам не нужен ответ?

По сути, я просто хочу "пропинговать" эту страницу, чтобы она знала, что ей нужно обновить.

спасибо!

Ответы [ 2 ]

2 голосов
/ 13 июля 2010

Если вы просто хотите вызвать удаленную страницу, вы можете использовать класс WebRequest.http://msdn.microsoft.com/en-us/library/debx8sh9.aspx

WebRequest request = WebRequest.Create("http://my.domain.ext/page.ashx");
using(WebResponse response = request.GetResponse()) {
  response.Close();
}

Если вы хотите заняться более сложным делом, вам лучше подойдет веб-сервис.

1 голос
/ 12 июля 2010

Вы можете установить флаг в базе данных.Это превратит это в гораздо более простую задачу.

Если альтернативы не существует, вы можете использовать класс WebClient :

using (var wc = new WebClient()) 
{
    wc.DownloadString(address);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...