in IIS

IIS Express Recycling

Her developer yaşamıştır. Bir web uygulaması geliştirirken session gerektiren yerler olur ve buralardaki *.aspx, *.cshtml veya *.vbhtml sayfaları sürekli değiştirme gerekliliği olur. Özellikle tasarımı uyarlarken.
Bu sayfaları her güncellediğinizde IIS (Express dahil), ApplicationPool’a recycle komutu gönderir ve uygulama yeniden başlatılır. Böyle olunca daha önce sayfayı görmek için açtığınız session kaybolur ve tekrar login olmak zorunda kalırsınız. Böylelikle tekrar user/pass girer ve ilgili sayfaya gidebilmek için varsa menülerden devam edersiniz. Hele birde 3-5 click’de gidilecek bir yer ise tam eziyet.

Böyle ufak ama gereksiz zaman kayıplarına kıl oluyorsanız IIS Express’in ApplicationHost.config‘ine bir ayar ekleyerek bu durumdan sıyrılabilirsiniz; Şöyle;

%USERPROFILE%\Documents\IISExpress\config\applicationhost.config dosyasını açın

<applicationPools> nodu’nu bulun.

<applicationPoolDefaults> node’una aşağıdaki node’u ekleyin

<recycling disallowOverlappingRotation=”true” disallowRotationOnConfigChange=”true”/> (Bknz: Recycling Settings for an Application Pool)

toplamda şöyle görünmesi lazım.

<system.applicationHost>
           <applicationPools>
...
...
                  <applicationPoolDefaults managedRuntimeLoader="v4.0" >
                    <recycling disallowOverlappingRotation="true" disallowRotationOnConfigChange="true"/>
           </applicationPoolDefaults>
..
...

Ben elle uğraşamam arkadaş diyorsan da aşağıdaki komutu çalıştırman yeterli olur.

appcmd.exe set config  -section:system.applicationHost/applicationPools /applicationPoolDefaults.recycling.disallowOverlappingRotation:"True" /applicationPoolDefaults.recycling.disallowRotationOnConfigChange:"True"  /commit:apphost

Not: appcmd.exe IIS için C:\Windows\System32\Inetsrv\ altındadır. IIS Express için ise C:\Program Files (x86)\IIS Express altındadır.

Yorum Bırak

Comment