Bagikan melalui


<behaviorExtensions>

Ekstensi perilaku memungkinkan pengguna membuat elemen perilaku yang ditentukan pengguna. Elemen-elemen ini dapat digunakan bersama elemen perilaku Windows Communication Foundation (WCF) standar. Bagian behaviorExtensions menentukan elemen sedemikian rupa sehingga dapat digunakan dalam konfigurasi. Berikut adalah contoh ekstensi perilaku umum.

<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>

Untuk menambahkan kemampuan konfigurasi ke elemen, Anda perlu menulis dan mendaftarkan elemen konfigurasi. Untuk informasi selengkapnya tentang hal ini, lihat dokumentasi System.Configuration.

Setelah elemen dan jenis konfigurasinya ditentukan, ekstensi dapat digunakan, seperti yang ditunjukkan pada contoh berikut.

<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>

Keamanan

Sebaiknya Anda menggunakan nama rakitan yang sepenuhnya memenuhi syarat saat mendaftarkan jenis dalam file machine.config dan app.config. Jika jenis tidak ditentukan secara unik, pemuat jenis runtime bahasa umum mencari jenis di lokasi berikut dalam urutan yang ditentukan:

Jika jenis rakitan diketahui, pemuat mencari lokasi pengalihan file konfigurasi, GAC, rakitan saat ini menggunakan informasi konfigurasi, dan direktori dasar aplikasi. Jika rakitan tidak diketahui, pemuat mencari rakitan saat ini, mscorlib, dan lokasi yang dikembalikan oleh penanganan aktivitas TypeResolve. Urutan pencarian runtime bahasa umum ini dapat diubah dengan hook seperti mekanisme Penerusan Jenis dan peristiwa AppDomain.TypeResolve.

Penyerang dapat mengeksploitasi urutan pencarian runtime bahasa umum dan menjalankan kode yang tidak sah. Menggunakan nama yang sepenuhnya memenuhi syarat (kuat) secara unik mengidentifikasi jenis dan semakin meningkatkan keamanan sistem Anda.

Untuk informasi selengkapnya, lihat Cara Runtime Menemukan Rakitan dan TypeResolve.

Lihat juga