Aracılığıyla paylaş


<serviceHostingEnvironment>

Bu öğe, belirli bir aktarım için hizmet barındırma ortamının örnek oluşturduğu türü tanımlar. Bu öğe boşsa, varsayılan tür kullanılır. Bu öğe yalnızca uygulama veya makine düzeyinde yapılandırma dosyalarında kullanılabilir.

<Yapılandırma>
  <system.serviceModel>
    <serviceHostingEnvironment>

Syntax

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

Öznitelikler ve Öğeler

Öznitelikler, alt ve üst öğeler aşağıdaki bölümlerde açıklanmaktadır.

Öznitelikler

Öznitelik Açıklama
aspNetCompatibilityEnabled Geçerli uygulama için ASP.NET uyumluluk modunun açık olup olmadığını gösteren boole değeri. Varsayılan değer: false.

Bu öznitelik olarak trueayarlandığında, Windows Communication Foundation (WCF) hizmetlerine yönelik istekler ASP.NET HTTP işlem hattı üzerinden akar ve HTTP olmayan protokoller üzerinden iletişim yasaktır. Daha fazla bilgi için bkz . WCF Hizmetleri ve ASP.NET.
minFreeMemoryPercentageToActivateService Bir WCF hizmetinin etkinleştirilmeden önce sistem tarafından kullanılabilir olması gereken en düşük boş bellek miktarını belirten bir tamsayı. Dikkat: Bu özniteliğin bir WCF hizmetinin web.config dosyasında kısmi güvenle birlikte belirtilmesi, hizmet çalıştırıldığında bir SecurityException ile sonuçlanır.
multipleSiteBindingsEnabled Site başına birden çok IIS bağlaması etkinleştirilip etkinleştirilmediğini belirten bir Boole değeri.

IIS, sanal dizinler içeren sanal uygulamalar için kapsayıcılar olan web sitelerinden oluşur. Bir sitedeki uygulamaya bir veya daha fazla IIS bağlaması aracılığıyla erişilebilir. IIS bağlaması iki bilgi parçası sağlar: bağlama protokolü ve bağlama bilgileri. Bağlama protokolü, iletişimin gerçekleştiği düzeni tanımlar ve bağlama bilgileri siteye erişmek için kullanılan bilgilerdir. Bağlama protokolüne örnek olarak HTTP verilebilirken, bağlama bilgileri ip adresi, bağlantı noktası, ana bilgisayar üst bilgisi vb. içerebilir.

IIS, site başına birden çok IIS bağlaması belirtmeyi destekler ve bu da şema başına birden çok temel adrese neden olur. Ancak, bir site altında barındırılan bir Windows Communication Foundation (WCF) hizmeti, şema başına yalnızca bir baseAddress bağlamasına izin verir.

Bir Windows Communication Foundation (WCF) hizmeti için site başına birden çok IIS bağlamasını etkinleştirmek için bu özniteliği olarak trueayarlayın. Birden çok site bağlamasının yalnızca HTTP protokolü için desteklendiğine dikkat edin. Yapılandırma dosyasındaki uç noktaların adresi tam bir URI olmalıdır.

Alt Öğeler

Öğe Açıklama
<baseAddressPrefixFilters> Hizmet konağı tarafından kullanılan temel adresler için ön ek filtrelerini belirten yapılandırma öğeleri koleksiyonu.
<serviceActivations> Etkinleştirme ayarlarını açıklayan bir yapılandırma bölümü.
<transportConfigurationTypes> Belirli bir aktarım türünü tanımlayan yapılandırma öğeleri koleksiyonu.

Üst Öğeler

Öğe Açıklama
serviceModel Tüm Windows Communication Foundation (WCF) yapılandırma öğelerinin kök öğesi.

Açıklamalar

Varsayılan olarak, WCF hizmetleri barındırılan Uygulama Etki Alanlarında (AppDomain) ASP.NET ile yan yana çalışır. WCF ve ASP.NET aynı AppDomain'de birlikte bulunabilse de, WCF istekleri varsayılan olarak ASP.NET HTTP İşlem Hattı tarafından işlenmez. Sonuç olarak, ASP.NET uygulama platformunun birkaç öğesi WCF hizmetlerinde kullanılamaz. Bunlar:

  • ASP.NET Dosya/URL Yetkilendirmesi

  • ASP.NET Kimliğe Bürünme

  • Tanımlama Bilgisi Tabanlı Oturum Durumu

  • HttpContext.Current

  • Özel HttpModule aracılığıyla İşlem Hattı Genişletilebilirliği

WCF hizmetlerinizin ASP.NET bağlamında çalışması ve yalnızca HTTP üzerinden iletişim kurması gerekiyorsa, WCF'nin ASP.NET uyumluluk modunu kullanabilirsiniz. Öznitelik uygulama düzeyinde olarak ayarlandığında true bu mod açılıraspNetCompatibilityEnabled. Hizmet uygulamaları, sınıfını kullanarak AspNetCompatibilityRequirementsAttribute uyumluluk modunda çalışma yeteneğini bildirmelidir. Uyumluluk modu etkinleştirildiğinde,

  • ASP.NET Dosya/URL Yetkilendirmesi WCF yetkilendirmesi öncesinde zorlanır. Yetkilendirme kararı, isteğin aktarım düzeyi kimliğine dayanır. İleti düzeyindeki kimlikler yoksayılır.

  • WCF hizmeti işlemleri ASP.NET kimliğe bürünme bağlamında yürütülmeye başlar. Belirli bir hizmet için hem ASP.NET kimliğe bürünme hem de WCF kimliğe bürünme etkinleştirildiyse, WCF kimliğe bürünme bağlamı uygulanır.

  • HttpContext.Current, WCF hizmet kodundan kullanılabilir ve hizmetlerin HTTP olmayan uç noktaları kullanıma sunması engellenir.

  • WCF istekleri ASP.NET işlem hattı tarafından işlenir. Gelen istekler üzerinde işlem yapmak üzere yapılandırılmış HttpModule'ler WCF isteklerini de işleyebilir. Bunlar ASP.NET platform bileşenlerini (ör. SessionStateModule) ve özel üçüncü taraf modüllerini içerebilir.

Örnek

Aşağıdaki kod örneğinde ASP Uyumluluk Modu'nun nasıl etkinleştirileceği gösterilmektedir.

Kod

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>

Ayrıca bkz.