<behaviorExtensions>
Med beteendetillägg kan användaren skapa användardefinierade beteendeelement. Dessa element kan användas tillsammans med standardbeteendeelementen för Windows Communication Foundation (WCF). Avsnittet behaviorExtensions
definierar elementet så att det kan användas i konfigurationen. Här är ett exempel på ett typiskt beteendetillägg.
<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>
Om du vill lägga till konfigurationsfunktioner i elementet måste du skriva och registrera ett konfigurationselement. Mer information om detta finns i dokumentationen System.Configuration .
När elementet och dess konfigurationstyp har definierats kan tillägget användas, som du ser i följande exempel.
<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>
Säkerhet
Vi rekommenderar starkt att du använder fullständigt kvalificerade sammansättningsnamn när du registrerar typer i machine.config
filerna och app.config
. Om typen inte är unikt definierad söker CLR-typinläsaren efter den på följande platser i den angivna ordningen:
Om sammansättningen av typen är känd söker inläsaren igenom konfigurationsfilens omdirigeringsplatser, GAC, den aktuella sammansättningen med hjälp av konfigurationsinformation och programbaskatalogen. Om sammansättningen är okänd söker inläsaren igenom den aktuella sammansättningen, mscorlib och den plats som returneras av TypeResolve
händelsehanteraren. Den här CLR-sökordningen kan ändras med krokar, till exempel mekanismen för vidarebefordran av typ och händelsen AppDomain.TypeResolve.
En angripare kan utnyttja CLR-sökordningen och köra obehörig kod. Att använda fullständigt kvalificerade (starka) namn identifierar unikt en typ och ökar systemets säkerhet ytterligare.
Mer information finns i How the Runtime Locates Assemblies and TypeResolve.