共用方式為


<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 時,對 Windows Communication Foundation (WCF) 服務的要求會透過 ASP.NET HTTP 管線流動,同時也不可以透過非 HTTP 通訊協定進行通訊。如需詳細資訊,請參閱 WCF Services and ASP.NET

minFreeMemoryPercentageToActivateService

整數,指定系統必須先取得使用才能啟動 WCF 服務的最小可用記憶體量。

ms731336.Caution(zh-tw,VS.90).gif注意:
如果在 WCF 服務的 web.config 檔中指定這個屬性與部分信任,就會導致執行服務時產生 SecurityException

子項目

項目 描述

<baseAddressPrefixFilters>

組態項目的集合,這些項目會指定服務主機使用之基底位址的前置詞篩選條件。

<transportConfigurationTypes>

組態項目的集合,這些項目會識別特定傳輸的類型。

父項目

項目 描述

serviceModel

所有 Windows Communication Foundation (WCF) 組態項目的根項目。

備註

根據預設,WCF 服務會與 ASP.NET 在裝載的應用程式定義域 (AppDomain) 中並存執行。即使 WCF 與 ASP.NET 可共存於相同的 AppDomain,但 WCF 要求依預設不會由 ASP.NET HTTP 管線處理。因此,WCF 服務無法使用 ASP.NET 應用程式平台的某些元素,包括:

  • ASP.NET 檔案/URL 授權
  • ASP.NET 模擬
  • Cookie 架構工作階段狀態
  • HttpContext.Current
  • 透過自訂 HttpModule 的管線擴充性

如果您的 WCF 服務需要在 ASP.NET 內容中運作,而且只透過 HTTP 進行通訊,可使用 WCF 的 ASP.NET 相容性模式。當 aspNetCompatibilityEnabled 屬性在應用程式層級設為 true 時,便會開啟這個模式。服務實作必須使用 AspNetCompatibilityRequirementsAttribute 類別宣告其可在相容性模式執行。啟用相容性模式時,

  • ASP.NET 檔案/URL 驗證會在 WCF 驗證前強制執行。驗證決策是以要求的傳輸層級身分識別為基礎,訊息層級的身分識別則會被忽略。
  • WCF 服務作業會開始在 ASP.NET 模擬內容中執行。如果同時啟用特定服務的 ASP.NET 模擬與 WCF 模擬,則會使用 WCF 模擬內容。
  • HttpContext.Current 可從 WCF 服務程式碼使用,而且服務不可以公開非 HTTP 端點。
  • WCF 要求是由 ASP.NET 管線處理。已設定為處理傳入要求的 HttpModules 也可以處理 WCF 要求,其中可包含 ASP.NET 平台元件 (如 SessionStateModule) 以及自訂的協力廠商模組。

範例

下列程式碼範例會示範如何啟用 ASP 相容性模式。

程式碼

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>

請參閱

參考

ServiceHostingEnvironmentSection
ServiceHostingEnvironment

其他資源

Hosting
WCF Services and ASP.NET