정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

WebRequestExtensions.SetNetworkRequirement 메서드

2013-12-13

통신망 기술 또는 비통신망 기술을 사용하여 웹 요청의 요구 사항을 구성합니다.

Namespace:  Microsoft.Phone.Net.NetworkInformation
어셈블리:  Microsoft.Phone(Microsoft.Phone.dll)

public static void SetNetworkRequirement(
	this WebRequest request,
	NetworkSelectionCharacteristics requirement
)

매개 변수

request
형식: System.Net.WebRequest
요구 사항을 구성할 웹 요청입니다.
requirement
형식: Microsoft.Phone.Net.NetworkInformation.NetworkSelectionCharacteristics
필요한 기술 형식을 지정하는 열거형 값 중 하나입니다.

사용 정보

Visual Basic 및 C#에서는 이 메서드를 WebRequest 형식의 모든 개체에서 인스턴스 메서드로 호출할 수 있습니다. 인스턴스 메서드 구문을 사용하여 이 메서드를 호출할 경우에는 첫 번째 매개 변수를 생략합니다.

예외조건
ArgumentNullException

requestnull인 경우

NetworkException

request에 대한 HTTP 요청 핸들을 가져올 수 없는 경우

NetworkException

request에 대한 세션 핸들을 가져올 수 없는 경우

NetworkException

네트워크 요구 사항을 구성할 수 없는 경우

이 메서드는 BeginGetResponse를 호출하기 전에 호출해야 합니다. 그렇지 않으면 InvalidOperationException이 발생합니다.

확장 메서드에 대한 자세한 내용은 확장 메서드(C# 프로그래밍 가이드) 또는 방법: 확장 메서드 호출(Visual Basic)을 참조하세요.

다음 코드 예제에서는 SetNetworkRequirement 확장 메서드를 사용하는 방법을 보여 줍니다. 이 예제에서 필요한 네트워크 인터페이스는 Cellular입니다. 셀룰러 네트워크 인터페이스를 사용할 수 없으면 이 예제에서 response_Callback에 해당하는 BeginGetResponse 메서드의 콜백에서 WebException 예외가 발생합니다. WebException의 Message 속성에는 “원격 서버에서 NotFound 오류를 발생했습니다.” 텍스트가 포함됩니다.


private void StartDownload()
{
   HttpWebRequest hwr;
   hwr = (HttpWebRequest)HttpWebRequest.Create(new Uri("http://www.contoso.com", UriKind.Absolute));

   // Call SetNetworkRequirement on an HttpWebRequest before calling BeginGetResponse or
   // an InvalidOperationException will be thrown.
   hwr.SetNetworkRequirement(NetworkSelectionCharacteristics.Cellular);
   hwr.BeginGetResponse(new AsyncCallback(response_Callback), hwr);                     
}       

private void response_Callback(IAsyncResult asyncResult)
{                      
   HttpWebRequest httpWebRequest = (HttpWebRequest)asyncResult.AsyncState;
   try
   {
      WebResponse response = httpWebRequest.EndGetResponse(asyncResult);
   }
   catch (WebException webEx)
   {
      Dispatcher.BeginInvoke(() =>
      {
         MessageBox.Show(webEx.Message);
      });
   }
}        

Windows Phone OS

지원되는 버전: 8.0, 7.1

Windows Phone

표시: