httpwebresponse를 검색하고 xdocument에 넣는 효율적인 방법
-
18-09-2019 - |
문제
생성 된 XML 문서 스트림을 소비 해야하는 로컬 서비스가 있습니다. 종말점은 그 자체로 휴식 서비스가 아닙니다. 아래에 설명한 방법이 응답을 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, ...)
제휴하지 않습니다 StackOverflow