Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 检索HttpWebResponse并将其放入XDocument的有效方法_Asp.net_Linq_Httpwebrequest_Httpwebresponse_Linq To Xml - Fatal编程技术网

Asp.net 检索HttpWebResponse并将其放入XDocument的有效方法

Asp.net 检索HttpWebResponse并将其放入XDocument的有效方法,asp.net,linq,httpwebrequest,httpwebresponse,linq-to-xml,Asp.net,Linq,Httpwebrequest,Httpwebresponse,Linq To Xml,有一个本地服务,我需要从中使用生成的XML文档流。尽管端点本身不是REST服务。我想确保下面概述的方法是将响应返回到XDocument中的最有效的方法 Uri requestUri = null; Uri.TryCreate(String.Format(SearchAddress, filter), UriKind.Absolute, out requestUri); NetworkCredential nc = new NetworkCredential("Login", "

有一个本地服务,我需要从中使用生成的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 result=request.BeginGetResponse(…)

//设置超时回调方法,BeginGetResponse不会超时…
ThreadPool.RegisterWaitForSingleObject(result.AsyncWaitHandle,…)

处理
WebException
的好主意。也就是说,对于异步请求,您建议的修改是什么?