<behaviorExtensions>

行為延伸可讓使用者建立使用者定義的行為項目。 這些項目可以和標準的 Windows Communication Foundation (WCF) 行為項目並列使用。 behaviorExtensions 區段會定義項目,讓項目可用於組態中。 以下是典型行為擴充的範例。

<system.serviceModel>
  <extensions>
    <behaviorExtensions>
      <add name="myBehavior"
           type="Microsoft.ServiceModel.Samples.MyBehaviorSection, MyBehavior,
                 Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    </behaviorExtensions>
  </extensions>
</system.serviceModel>

若要將組態功能加入至項目,您必須寫入並註冊組態項目。 如需這方面的詳細資訊,請參閱 System.Configuration

在定義項目及其組態型別後,即可使用擴充,如下列範例所示。

<behaviors>
  <behavior configurationName="testChannelBehavior">
    <myBehavior />
    <channelSecurity cacheCookies="false"
                     detectReplays="false"
                     maxCachedNonces="9"
                     maxClockSkew="00:00:03"
                     maxCookieCachingTime="00:07:24"
                     replayWindow="00:07:22.2190000" />
  </behavior>
</behaviors>

安全性

強烈建議您在 machine.configapp.config 檔案中註冊型別時,使用完整組件名稱。 如果型別不是唯一定義的型別,則 CLR 型別載入器會以指定的順序在以下位置中搜尋該型別:

如果型別的組件為已知,則載入器會搜尋組態檔案的重新導向位置、GAC、使用組態資訊的目前組件,和應用程式基底目錄。 如果組件為未知,則載入器會搜尋目前組件、mscorlib 和 TypeResolve 事件處理常式傳回的位置。 這個 CLR 搜尋順序可以用型別轉送機制和 AppDomain.TypeResolve 事件等攔截程序 (Hook) 來修改。

攻擊者可能會利用 CLR 搜尋順序並執行未經授權的程式碼。 使用完整 (強式) 名稱來唯一識別類型,可進一步提高您系統的安全性。

如需詳細資訊,請參閱執行階段如何找出組件TypeResolve

另請參閱