<serviceHostingEnvironment>
이 요소는 특정 전송을 위해 서비스 호스팅 환경에서 인스턴스화하는 형식을 정의합니다. 이 요소가 비어 있으면 기본 형식이 사용됩니다.
<system.serviceModel>
<serviceHostingEnvironment>
<serviceHostingEnvironment>
aspNetCompatibilityEnabled="Boolean"
minFreeMemoryPercentageToActivateService="Integer"
<baseAddressPrefixFilters>
<add prefix="string"/>
</baseAddressPrefixFilters>
<transportConfigurationTypes>
<add name="String"
transportConfigurationType="String" />
</transportConfigurationTypes>
</serviceHostingEnvironment>
특성 및 요소
특성
특성 | 설명 |
---|---|
aspNetCompatibilityEnabled |
현재 응용 프로그램에 ASP.NET 호환 모드를 설정했는지 여부를 나타내는 부울 값입니다. 기본값은 false입니다. 이 특성이 true로 설정되면 WCF(Windows Communication Foundation) 서비스에 대한 요청이 ASP.NET HTTP 파이프라인을 통해 전달되며 HTTP가 아닌 프로토콜을 통한 통신이 허용되지 않습니다. 자세한 내용은 WCF Services and ASP.NET을 참조하십시오. |
minFreeMemoryPercentageToActivateService |
WCF 서비스를 활성화하기 전에 시스템에서 사용할 수 있는 최소 메모리를 지정하는 정수입니다. 경고 WCF 서비스의 web.config 파일에서 부분 신뢰와 함께 이 특성을 지정하면 서비스가 실행될 때 SecurityException이 발생합니다. |
자식 요소
요소 | 설명 |
---|---|
서비스 호스트에서 사용하는 기본 주소에 대한 접두사 필터를 지정하는 구성 요소 컬렉션입니다. |
|
특정 전송의 형식을 식별하는 구성 요소의 컬렉션입니다. |
부모 요소
요소 | 설명 |
---|---|
serviceModel |
모든 WCF(Windows Communication Foundation) 구성 요소의 루트 요소입니다. |
설명
기본적으로 WCF 서비스는 호스팅된 응용프로그램 도메인(AppDomain)에서 ASP.NET과 함께 실행됩니다. 동일한 AppDomain에서 WCF와 ASP.NET을 함께 사용할 수 있더라도 WCF 요청은 기본적으로 ASP.NET HTTP 파이프라인에 의해 처리되지 않습니다. 따라서 ASP.NET 응용 프로그램 플랫폼의 여러 요소를 WCF 서비스에 사용할 수 없습니다. 이러한 요소는 다음과 같습니다.
- ASP.NET 파일/URL 권한 부여
- ASP.NET 가장
- 쿠키 기반 세션 상태
- HttpContext.Current
- 사용자 지정 HttpModule을 통한 파이프라인 확장성
WCF 서비스가 ASP.NET 컨텍스트에서 작동해야 하고 이 서비스가 HTTP를 통해서만 통신하는 경우 WCF의 ASP.NET 호환 모드를 사용할 수 있습니다. 이 모드는 응용 프로그램 수준에서 aspNetCompatibilityEnabled 특성이 true로 설정되면 사용하도록 설정됩니다. 서비스 구현에서는 AspNetCompatibilityRequirementsAttribute 클래스를 사용하여 호환 모드에서 실행되는 기능을 선언해야 합니다. 호환 모드를 사용하는 경우 다음과 같습니다.
- ASP.NET 파일/URL 권한 부여가 WCF 인증 전에 적용됩니다. 권한 부여 결정은 요청의 전송 수준 ID에 따라 달라집니다. 메시지 수준의 ID가 무시됩니다.
- WCF 서비스 작업이 ASP.NET 가장 컨텍스트에서 실행되기 시작합니다. ASP.NET 가장 및 WCF 가장이 모두 특정 서비스에 사용하도록 설정되면 WCF 가장 컨텍스트가 적용됩니다.
- HttpContext.Current는 WCF 서비스 코드에서 사용할 수 있으며, 서비스에서 HTTP가 아닌 끝점을 노출할 수 없습니다.
- WCF 요청은 ASP.NET 파이프라인에서 처리됩니다. 들어오는 요청에서 동작하도록 구성된 HttpModule에서는 WCF 요청도 처리할 수 있습니다. 여기에는 사용자 지정 타사 모듈뿐만 아니라 SessionStateModule과 같은 ASP.NET 플랫폼 구성 요소가 포함될 수 있습니다.
예제
다음 코드 샘플에서는 ASP 호환 모드를 사용하도록 설정하는 방법을 보여 줍니다.
코드
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
참고 항목
참조
ServiceHostingEnvironmentSection
ServiceHostingEnvironment