Aracılığıyla paylaş


<serviceHostingEnvironment>

Bu öğe, hizmet barındırma ortamının belirli bir aktarım için ö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.

<configuration>
  <system.serviceModel>
    <serviceHostingEnvironment>

Sözdizimi

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

Attributes

Özellik Description
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: Bir WCF hizmetinin web.config dosyasında kısmi güvenle birlikte bu özniteliğin 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 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 bir 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 Description
<baseAddressPrefixFilters> Hizmet konağı tarafından kullanılan temel adresler için ön ek filtrelerini belirten bir yapılandırma öğeleri koleksiyonu.
<serviceActivations> Etkinleştirme ayarlarını açıklayan bir yapılandırma bölümü.
<transportConfigurationTypes> Belirli bir taşımanın türünü tanımlayan yapılandırma öğeleri koleksiyonu.

Üst Öğeler

Öğe Description
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 içinde birlikte bulunabilse de, WCF istekleri varsayılan olarak ASP.NET HTTP İşlem Hattı tarafından işlenmez. Sonuç olarak, ASP.NET uygulama platformunun çeşitli öğeleri WCF hizmetlerinde kullanılamaz. Bunlar şunlardır:

  • ASP.NET Dosyası/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. Bu mod, öznitelik uygulama düzeyinde olarak ayarlandığında aspNetCompatibilityEnabled açılırtrue. Hizmet uygulamaları, sınıfını kullanarak uyumluluk modunda çalışma yeteneklerini bildirmelidir AspNetCompatibilityRequirementsAttribute . Uyumluluk modu etkinleştirildiğinde,

  • ASP.NET Dosya/URL Yetkilendirmesi WCF yetkilendirmesi öncesinde uygulanır. Yetkilendirme kararı, isteğin aktarım düzeyi kimliğini temel alı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 hem de WCF kimliğe bürünme etkinleştirilirse, WCF kimliğe bürünme bağlamı uygulanır.

  • HttpContext.Current, WCF hizmet kodundan kullanılabilir ve hizmetlerin HTTP olmayan uç noktaları ortaya çıkarması 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.

Example

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

Kod

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>

Ayrıca bakınız