как вызвать обработчик ASHX и вернуть результат

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

Я погуглил, и большая часть примера использует вызовы Jquery.AJAX для получения значения. Я уверен, что я также могу получить значение, используя это. НО из-за некоторых ограничений в моей компании я не могу использовать код позади.

Любой пример поможет.

Handler: http://somesite.com/Stores/GetOrderCount.ashx?sCode=VIC
which returns: 3

необходимо назначить это элементу управления меткой

я пробовал это много до сих пор.

HttpWebRequest request = (HttpWebRequest) WebRequest.Create("http://somesite.com/Stores/GetOrderCount.ashx?sCode=VIC");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Label1.Text = response.ToString() // this does not work

person patel.milanb    schedule 25.01.2013    source источник
comment
что, если вы введете этот URL-адрес в свой браузер, что вы получите в ответ? какой формат?   -  person Quannt    schedule 25.01.2013
comment
если я ввожу URL-адрес в браузере, я получаю значение ... именно то, что я ожидаю получить ... но я не знаю, как получить это на странице aspx.   -  person patel.milanb    schedule 25.01.2013
comment
Хорошо, пожалуйста, обратите внимание, что если вы хотите использовать HttpWebRequest, будьте осторожны с ответом. Заголовок, возможно, вам придется указать некоторую информацию заголовка, чтобы получить данные.   -  person Quannt    schedule 25.01.2013


Ответы (2)


Используйте WebClient.DownloadString.

WebClient client = new WebClient ();
Label1.Text = client.DownloadString ("http://somesite.com/Stores/GetOrderCount.ashx?sCode=VIC");

Вы также можете напрямую вызвать обработчик с помощью ajax и обновить метку.

Вот пример jQuery:

$.get('Stores/GetOrderCount.ashx?sCode=VIC', function(data) {
  $('.result').html(data);
});
person nunespascal    schedule 25.01.2013
comment
это дало мне то, что я хотел... +1 - person patel.milanb; 25.01.2013

Попробуй это

System.IO.Stream stream = response.GetResponseStream();
System.IO.StreamReader reader = new System.IO.StreamReader(stream);
string contents = reader.ReadToEnd();
person Quannt    schedule 25.01.2013
comment
Я думаю, что ваше решение также работает нормально, НО гораздо проще использовать WebClient, чем транслировать - person patel.milanb; 25.01.2013