有一个本地服务,我需要从中使用生成的XML文档流。尽管终点本身不是REST服务。我想确保下面概述的方法是将响应返回到XDocument
的最有效方法。
Uri requestUri = null;
Uri.TryCreate(String.Format(SearchAddress, filter),
UriKind.Absolute, out requestUri);
NetworkCredential nc =
new NetworkCredential("Login", "Password");
CredentialCache cCache = new CredentialCache();
cCache.Add(requestUri, "Basic", nc);
HttpWebRequest request =
(HttpWebRequest)HttpWebRequest.Create(requestUri);
request.Credentials = cCache;
request.PreAuthenticate = true;
request.Method = WebRequestMethods.Http.Get;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
XDocument xDoc =
XDocument.Load(new StreamReader(response.GetResponseStream()));
最佳答案
如果您想要同步请求,那么我认为是。
但是处理WebException是个好主意。
在WebException.Response.GetResponseStream()中,您应该具有HTTP / HTML错误页面或soapfault。
提出要求
//开始异步检索响应流...
var结果= request.BeginGetResponse(...)
//设置超时回调方法,BeginGetResponse不会超时... ThreadPool.RegisterWaitForSingleObject(result.AsyncWaitHandle,...)