MaestroPanel‘in Azure’da çalışacak olan versionunu düzenlerken düzgün çalışması için bir kaç özel ayar yapmak gerekti. Fakat Azure kontrol panelinde IIS ile ilgili ayar yapılabilecek arayüz bulunmuyordu.
Biraz araştırdıktan sonra Windows Azure için "Startup-Task" konfigurasyonunun olduğunu öğrendim.
Projenizde ki ServiceDefinition.csdef dosyası web uygulamanızı Azure’a yüklendikten sonra nasıl hareket edeceğini hangi portu ve hangi protokolü dinleyeceğini belirleyen tanımlalar için vardır.
Bu dosyanın içinde ki konfigurasyon node’larından bir taneside projemiz çalıştırılırken işletilecek komutları tanımlamamızı sağlayan "Startup" node’u.
Bu node’un içine tanımladığınız Windows Command dosyası yani batch dosyasını aynı Command Prompt gibi düşünün. Girdiğiniz komutlar windows’da çalışıyormuş gibi Azure tarafından işletilecektir.
Daha sonra projenize bu dosyayı dahil ediyorsunuz tanımlıyorsunuz ve Startup nodunu düzenliyorsunuz.
Ayarla.cmd
REM queueLength arrtır %windir%system32inetsrvappcmd set config -section:system.applicationHost/applicationPools /applicationPoolDefaults.queueLength:"5000" /commit:apphost REM Timeout'u düşür. %windir%system32inetsrvappcmd set config -section:system.applicationHost/webLimits /connectionTimeout:"00:01:00" /commit:apphost REM Process'i arttır %windir%system32inetsrvappcmd set config -section:system.applicationHost/applicationPools /applicationPoolDefaults.processModel.maxProcesses:"4" /commit:apphost REM 64bit uygulamalara izin ver. %windir%system32inetsrvappcmd set config -section:system.applicationHost/applicationPools /applicationPoolDefaults.enable32BitAppOnWin64:"False" /commit:apphost
Ayarla.cmd dosyasını ben şu şekilde projeme ekledim.
Bundan sonra ServiceDefinition.csdef dosyamızıda aşağıdaki gibi düzenliyoruz.
Kaynaklar: