<serviceHostingEnvironment>

Elemen ini mendefinisikan jenis lingkungan hosting layanan yang digunakan untuk transportasi tertentu. Jika elemen ini kosong, jenis default akan digunakan. Elemen ini hanya dapat digunakan pada file konfigurasi tingkat aplikasi atau mesin.

<konfigurasi>
  <system.serviceModel>
    <serviceHostingEnvironment>

Sintaks

<serviceHostingEnvironment aspNetCompatibilityEnabled="Boolean"
                           minFreeMemoryPercentageToActivateService="Integer"
                           multipleSiteBindingsEnabled="Boolean">
  <baseAddressPrefixFilters>
    <add prefix="string" />
  </baseAddressPrefixFilters>
  <serviceActivations>
    <add factory="String"
         service="String" />
  </serviceActivations>
  <transportConfigurationTypes>
    <add name="String"
         transportConfigurationType="String" />
  </transportConfigurationTypes>
</serviceHostingEnvironment>

Atribut dan Elemen

Bagian berikut menjelaskan atribut, elemen turunan, dan elemen induk.

Atribut

Atribut Deskripsi
aspNetCompatibilityEnabled Nilai Boolean yang menunjukkan apakah mode kompatibilitas ASP.NET telah diaktifkan untuk aplikasi saat ini. Defaultnya adalah false.

Saat atribut ini diatur ke true, permintaan ke layanan Windows Communication Foundation (WCF) mengalir melalui alur HTTP ASP.NET, dan komunikasi melalui protokol non-HTTP dilarang. Untuk informasi selengkapnya, lihat Layanan WCF dan ASP.NET.
minFreeMemoryPercentageToActivateService Bilangan Bulat yang menentukan jumlah minimum memori kosong yang harus tersedia untuk sistem, sebelum layanan WCF dapat diaktifkan. Perhatian: Menetapkan atribut ini bersama dengan kepercayaan parsial pada file web.config layanan WCF akan menghasilkan SecurityException saat layanan dijalankan.
multipleSiteBindingsEnabled Nilai Boolean yang menentukan apakah beberapa pengikatan IIS per situs diaktifkan.

IIS terdiri dari situs web, yang merupakan kontainer untuk aplikasi virtual yang berisi direktori virtual. Aplikasi di situs dapat diakses melalui satu atau beberapa pengikatan IIS. Pengikatan IIS menyediakan dua informasi: protokol pengikatan dan informasi pengikatan. Protokol pengikatan mendefinisikan skema tempat komunikasi terjadi, dan informasi pengikatan adalah informasi yang digunakan untuk mengakses situs. Contoh protokol pengikatan dapat berupa HTTP, sedangkan informasi pengikatan dapat berisi alamat IP, Port, header host, dll.

IIS mendukung penetapan beberapa pengikatan IIS per situs, yang menghasilkan beberapa alamat dasar per skema. Namun, layanan Windows Communication Foundation (WCF) yang dihosting di bagian situs memungkinkan pengikatan hanya ke satu baseAddress per skema.

Untuk mengaktifkan beberapa pengikatan IIS per situs untuk layanan Windows Communication Foundation (WCF), atur atribut ini ke true. Perhatikan bahwa pengikatan beberapa situs hanya didukung untuk protokol HTTP. Alamat titik akhir dalam file konfigurasi harus berupa URI lengkap.

Elemen Anak

Elemen Deskripsi
<baseAddressPrefixFilters> Kumpulan elemen konfigurasi yang menentukan filter awalan untuk alamat dasar yang digunakan oleh host layanan.
<serviceActivations> Bagian konfigurasi yang menjelaskan pengaturan aktivasi.
<transportConfigurationTypes> Kumpulan elemen konfigurasi yang mengidentifikasi jenis transportasi tertentu.

Elemen Induk

Elemen Deskripsi
serviceModel Elemen root dari semua elemen konfigurasi Windows Communication Foundation (WCF).

Keterangan

Secara default, layanan WCF berjalan berdampingan dengan ASP.NET di Domain Aplikasi yang dihosting (AppDomain). Meskipun WCF dan ASP.NET dapat hidup berdampingan di AppDomain yang sama, permintaan WCF tidak diproses oleh Alur HTTP ASP.NET secara default. Akibatnya, beberapa elemen platform aplikasi ASP.NET tidak tersedia untuk layanan WCF. Ini termasuk

  • Otorisasi File/URL ASP.NET

  • Peniruan Identitas ASP.NET

  • Status Sesi Berbasis Cookie

  • HttpContext.Current

  • Alur Ekstensibilitas melalui HttpModule kustom

Jika layanan WCF Anda perlu berfungsi dalam konteks ASP.NET, dan berkomunikasi hanya melalui HTTP, Anda dapat menggunakan mode kompatibilitas ASP.NET WCF. Mode ini diaktifkan jika atribut aspNetCompatibilityEnabled diatur ke true di tingkat aplikasi. Implementasi layanan harus mendeklarasikan kemampuannya untuk berjalan dalam mode kompatibilitas menggunakan kelas AspNetCompatibilityRequirementsAttribute. Saat mode kompatibilitas diaktifkan,

  • Otorisasi File/URL ASP.NET diberlakukan sebelum otorisasi WCF. Keputusan otorisasi didasarkan pada identitas tingkat transportasi dari permintaan. Identitas pada tingkat pesan diabaikan.

  • Operasi layanan WCF mulai dijalankan dalam konteks peniruan identitas ASP.NET. Jika peniruan identitas ASP.NET dan peniruan WCF diaktifkan untuk layanan tertentu, konteks peniruan identitas WCF berlaku.

  • HttpContext.Current dapat digunakan dari kode layanan WCF, dan layanan dicegah untuk mengekspos titik akhir non-HTTP.

  • Permintaan WCF diproses oleh alur ASP.NET. HttpModules yang telah dikonfigurasi untuk bertindak atas permintaan yang masuk juga dapat memproses permintaan WCF. Ini dapat mencakup komponen platform ASP.NET (misalnya, SessionStateModule), serta modul pihak ketiga kustom.

Contoh

Contoh kode berikut menunjukkan cara mengaktifkan Mode Kompatibilitas ASP.

Kode

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>

Lihat juga