Aracılığıyla paylaş


Otomatik Başlatma Özelliği

AppFabric yazılımının otomatik başlat özelliği, Windows 7 ve Windows Server 2008 R2 işletim sistemlerinde bulunan Internet Information Services (IIS) 7.5 yazılımının otomatik başlat özelliği üzerine oluşturulmuştur. IIS'te, bir uygulama havuzunu ve bu havuzdaki uygulamaların tümünü veya bir kısmını IIS hizmeti başladığında otomatik olarak başlatılacak şekilde yapılandırabilirsiniz. AppFabric otomatik başlatma özelliği, uygulamadaki hizmetlerin tümünü veya bir kısmını uygulama başladığında otomatik olarak başlatılacak şekilde yapılandırabilmenizi sağlayarak bu işlevselliğin kapsamını genişletir.

Otomatik Başlatma Özelliğinin Yararları

Bir hizmet için otomatik başlat özelliğini etkinleştirdiğinizde, hizmet, ait olduğu uygulama başlatıldığı anda ve istemciden ilk WCF iletisini almadan önce başlatılmış ve çalışır durumda olur. Böylece hizmet zaten başlatılmış olduğundan ilk iletiyi hızlı bir şekilde işler. Örneğin, bir hizmetin ilk oluşturulduğunda .NET Framework önbelleğe alma veri yapısını doldurmak amacıyla yüzlerce veri satırını okumak için veritabanına bağlanması gerektiğini varsayalım. Hizmet gerçek işlemine başlamaya hazır oluncaya kadar uzun bir başlatma işlemi süresi geçer. otomatik başlat kullandığınız durumda, hizmet ilk çağrıyı almadan önce başlatılır.

IIS'nin HTTP.SYS bileşeni HTTP isteklerini ve Windows İşlem Etkinleştirme hizmeti (WAS) ise TCP, Adlandırılmış Kanallar ve MSMQ isteklerini, IIS ile sağlanan özel WCF dinleyici bağdaştırıcılarını kullanarak işler. Dinleyici bağdaştırıcısı WAS ile HTTP olmayan protokoller kullanan hizmet arasında iletişim kurar. Başka bir protokol üzerinden alınan iletileri işlemeyi desteklemek için özel dinleyici bağdaştırıcıları ve diğer destekleyici modülleri geliştirmeniz gerekir; bu karmaşık olabilecek bir görevdir. Dinleyici bağdaştırıcıları hakkında daha fazla bilgi için bkz. Dinleyici Bağdaştırıcıları (https://go.microsoft.com/fwlink/?LinkId=160359). otomatik başlat desteği sayesinde, herhangi bir protokolü destekleyen uygulamaları IIS'te dağıtabilirsiniz. Dağıtılan bu uygulamalar için otomatik başlat özelliğini etkinleştirirseniz, WAS bunları etkinleştirir ve çalışan işleminde etkin kalmalarını sağlar.

Otomatik Başlatma Senaryoları

Otomatik başlatma özelliğini kullanan hizmetler aşağıdakilere benzer senaryoları destekler:

  • Uygulamanın dağıtıldığı bilgisayar yeniden başlatılır. IIS, WAS, uygulama havuzu, uygulama ve hizmetler bilgisayarla birlikte otomatik olarak başlatılacak şekilde yapılandırılır. Bu senaryoda uygulama yeniden başlatıldığında hizmetler otomatik olarak başlatılır. Uygulama tüm hizmetleri otomatik olarak başlatacak şekilde yapılandırılırsa, uygulamadaki tüm hizmetler otomatik olarak başlatılır; aksi takdirde yalnızca Web.config dosyasında belirtilen hizmetler başlatılır.

  • WS Bulma bildiri protokolü gibi bazı protokoller uygulamaların her zaman kullanılabilir olmasını gerektirir. Bir uygulama ve içindeki hizmetler için otomatik başlatma özelliğini etkinleştirdiğinizde, Windows Server AppFabric otomatik başlatma özelliği hizmetleri içeren uygulama başlatıldığı anda hizmetleri otomatik olarak başlatır.

  • Bir hizmetin ait olduğu uygulama havuzu, belirtilen süre içinde çok fazla çalışan işleminin uygun olmayan duruma dönüştüğünü algılar ve hızlı hata koruması işlemini başlatır. Otomatik başlatma özelliği hızlı hata koruması işlemini şu şekilde destekler: bir işlem belirtilen süre içinde yapılandırılamayacak kadar çok sayıda başarısız olursa, uygulama ve uygulamanın hizmetleri hızlı hata koruması eşiği aşıldıktan sonra yeniden başlatılmaz.

Bilgisayarı Yeniden Başlatma Senaryosu

Aşağıdaki listede, otomatik başlatma özelliğinin desteklediği örnek bir bilgisayarı yeniden başlatma senaryosunda genelde bulunan adımlar verilmiştir:

  1. Windows İşlem Etkinleştirme hizmeti (WAS), hizmet otomatik olarak başlatılacak şekilde yapılandırıldıysa başlatılır. WAS'ı Yönetimsel Araçlar'daki Hizmetler uygulamasını kullanarak yapılandırabilirsiniz.

  2. WAS otomatik olarak başlatılacak şekilde yapılandırılan tüm uygulama havuzlarını başlatır. Bu uygulama havuzlarındaki startMode ayarı, ApplicationHost.config dosyasında AlwaysRunning olarak ayarlanır.

    <applicationPools>
        <add name=”MyAppPool” startMode=”AlwaysRunning” />
    </applicationPools>
    
  3. WAS'taki uygulama yöneticisi, otomatik olarak başlatılacak şekilde yapılandırılan tüm uygulamaları yükler. serviceAutoStartEnabled özniteliği, bu uygulamalar için ApplicationHost.config dosyasında true olarak ayarlanır.

    <sites>
        <site name="MySite" id="1">
            <application path="/"  serviceAutoStartEnabled=”true” serviceAutoStartProvider=”Service” serviceAutoStartMode=”All/Custom”>
                <virtualDirectory path="/" physicalPath="C:\MySite" />
            </application>
        </site>
    </sites>                
    
  4. Uygulama başlatma işlemi, otomatik olarak başlatılacak şekilde yapılandırılan hizmetleri başlatan otomatik başlatma modülünü başlatır.

    serviceAutoStartProvider özniteliği, özel nesneleri başlatmak için kullanabileceğiniz bir IIS genişletilebilirlik noktasıdır. Windows Server AppFabric yükleme programı Hizmet sağlayıcısını yükler ve serviceAutoStartMode özniteliğini eklemek için IIS şemasını genişletir.

    Bir uygulamanın serviceAutoStartMode ayarı All olarak ayarlanırsa, uygulamadaki tüm hizmetler başlatılır. Bir uygulamanın serviceAutoStartMode ayarı Custom olarak ayarlanırsa, yalnızca Web.config dosyasında belirtilen dosyalar başlatılır

    Otomatik başlatma modülü bir hizmeti yüklemek için relativeVirtualPath değerini kullanır. Aşağıdaki yapılandırma bölümü iki hizmet için yapılandırılan relativeVirtualPath ayarlarını içeren bir Web.config dosyasından alınmıştır. Hizmetin relativeVirtualPath değeri, hizmetin, hizmeti içeren uygulamaya göre belirtilen yoludur.

    // a sample Web.config fragment with two services configured to use the auto-start feature.
    <Microsoft.ProcessServer.Hosting>
        <serviceAutoStart>
            <add relativeVirtualPath =”/Calendar/Appointments.xamlx” >
            <add relativeVirtualPath =”/BookStore/ShoppingCart.svc” >
        </serviceAutoStart>
    </Microsoft.ProcessServer.Hosting>
    

    İpucu

    Hizmetlerin otomatik başlatma ayarları Web.config dosyasında, uygulama havuzlarının ve uygulamaların otomatik başlatma ayarları ApplicationHost.config dosyasında tutulur.

Otomatik Başlatma Özelliğini Yapılandırma

WCF veya WF hizmeti için otomatik başlat özelliğini yapılandırmak üzere AppFabric tarafından sağlanan IIS Yöneticisi uzantılarını veya cmdlet'leri kullanabilirsiniz. otomatik başlat özelliğini yapılandırmaya yönelik ayrıntılı adım adım yönergeler için Otomatik Başlatma Özelliğini Yapılandırma bölümündeki IIS Yöneticisi'ni Kullanarak Otomatik Başlatma Özelliğini Yapılandırma ve Windows Server AppFabric Cmdlet'lerini Kullanarak Otomatik Başlatma Özelliğini Yapılandırma konularına bakın.

Not

otomatik başlat özelliği bir hizmet için etkinleştirilirse, IIS, uygulama havuzundaki ve uygulama havuzunu kullanan uygulamadaki Boşta Durma Zaman Aşımı ayarını yoksayar. Uygulama havuzuyla ilişkilendirilen çalışan işlemi, uygulama havuzu Boşta Durma Zaman Aşımı değerinden daha uzun süre boşta kalsa bile bellekte tutulmaya devam eder.

Uyarı

Hizmet için etkin çalışan bir başlatma işlemi kodu yazılmadıysa ve başlatma işlemi uzun sürüyorsa, IIS başlatma süresi dolabilir ve işlemi geçerli durumunda kapatabilir. Hizmetiniz birden çok CPU'su olan bilgisayarlarda çalışıyorsa, başlangıç işlemi kodunda birden çok iş parçacığı kullanmak iyi bir tasarım kararı olabilir.

Ayrıca bkz.

Kavramlar

Otomatik Başlatma Özelliğini Yapılandırma

  2011-12-05