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





Попробуйте класс System.Net.WebClient.
Вы можете использовать метод .DownloadStringAsync (), чтобы установить тайм-аут.
мы использовали следующее в бэкэнде нашего продукта (это просто базовый код, без обработки ошибок тайм-аута и т. д.)
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());
Как сказал Джоэл, WebClient сделает свое дело ...
string handlerResponse = new System.Net.WebClient().DownloadString("https://servername/myhandler?op=get&k=Internal&m=jdahug1");
конечно, учитывая ваш собственный тайм-аут и хорошие практики, вы, вероятно, не захотите встроить вызов, но вы поняли идею.
Шон Вильдермут дает отличный обзор двух имеющихся у вас вариантов: WebClient и WebRequest (http://wildermuth.com/2008/09/27/WebClient_vs_WebRequest_in_Silverlight_2). WebClient - это просто абстракция более высокого уровня, которая обрабатывает за вас больше деталей. Поскольку вы просто хотите вернуть строку, я бы попытался использовать WebClient, который, как описывает Шон, имеет метод DownloadString, который ждет вас.
У этого класса нет возможности устанавливать тайм-аут, как я хотел (насколько я понимаю), но я согласен, что это самый простой способ сделать звонок.