Как проще всего вызвать файл HttpHandler в .NET? - PullRequest
2 голосов
/ 14 октября 2008

У меня есть HttpHandler на моем веб-сервере, который принимает URL в форме "https://servername/myhandler?op=get&k=Internal&m=jdahug1".. Мне нужно вызвать этот URL из моего приложения .NET и записать любой вывод. Кто-нибудь знает, как я могу это сделать?" что? Я хочу, чтобы все было просто, чтобы я просто возвращал строку с выводом и мог указать свой собственный тайм-аут.

  • Спасибо!

Ответы [ 4 ]

6 голосов
/ 14 октября 2008

Попробуйте класс System.Net.WebClient.

Вы можете использовать метод .DownloadStringAsync () для принудительного тайм-аута.

3 голосов
/ 14 октября 2008

Shawn Wildermuth дает отличный обзор двух вариантов, которые у вас есть: WebClient и WebRequest (http://wildermuth.com/2008/09/27/WebClient_vs_WebRequest_in_Silverlight_2). WebClient - это просто абстракция более высокого уровня, которая обрабатывает больше деталей для вас. Поскольку вы просто хотите получить string back Я хотел бы использовать WebClient, который, как описывает Шон, имеет метод DownloadString, ожидающий вашего использования.

2 голосов
/ 14 октября 2008

Как и говорил Джоэл, WebClient сделает свое дело ..

string handlerResponse = new System.Net.WebClient().DownloadString("https://servername/myhandler?op=get&k=Internal&m=jdahug1");

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

1 голос
/ 14 октября 2008

мы использовали следующее в бэкенде нашего продукта (это только основной код, а не с обработкой ошибок тайм-аута и т. Д.)

using System.Net;

using System.IO;

HttpWebRequest req = (HttpWebRequest) WebRequest.Create(WebPageUrl);

WebResponse resp = req.GetResponse();

Stream stream = resp.GetResponseStream();

StreamReader reader = new StreamReader(stream);

output.Write(reader.ReadToEnd());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...