检索HttpWebResponse并把它的XDocument的有效途径
-
18-09-2019 - |
题
有一个本地服务从我需要消耗生成的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 doesn't超时...点击ThreadPool.RegisterWaitForSingleObject(result.AsyncWaitHandle,...),点击
不隶属于 StackOverflow