共用方式為


<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

另請參閱

參考

BehaviorExtensionElement

其他資源

Attaching Extensions Using Behaviors