Internet Information Services (IIS) 8, Web sunucusuna yapılan istekleri işleyen yerel ve yönetilen kod modüllerinin geliştiriciler tarafından kolayca yapılandırılmasına olanak tanır. Çalışan işlemlerinin bunları yükleyebilmesi için modüllerin düzgün şekilde yapılandırılması gerekir. Uygun modül yapılandırması için modülün benzersiz bir ada ve geçerli bir türe veya dizin yoluna sahip olması gerekir. Yönetilen modüllerde sadece ASP.NET uygulamalarına veya yönetilen işleyicilere yapılan istekler için çağrılma seçeneği belirtilebilir. Bu ayar belirtildiğinde performans iyileştirilebilir.
Bir modülün önkoşullarını düzeltme
Modül girişleri, modülün yüklenmesi için koşullar içerebilecek isteğe bağlı preCondition özniteliğine sahiptir. Örneğin, preCondition IIS'nin modülü yalnızca tümleşik modda çalıştırılan uygulama havuzları, ISAPI modunda çalıştırılan uygulama havuzları veya belirtilen bir .NET Framework sürümü kullanan uygulama havuzları için yüklemesini belirtebilir. Bu son ayar, CLR çalışma zamanının farklı sürümlerini kullanan uygulama havuzları için yönetilen altyapı modülünün ayrı sürümlerinin kullanılmasını sağlayabilir.
Aşağıda preCondition özniteliği olan bir modül girişinin ApplicationHost.config dosyasındaki globalModules bölümünden bir örnek yer almaktadır :
<globalModules>
<add name="ManagedEngine"
image="%Windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll"
preCondition="integratedMode,runtimeVersionv2.0,bitness32"
/>
</globalModules>
Sunucu, her modülü yüklemeden önce yapılandırmada yer alan önkoşulu değerlendirir. Yükleme önkoşullarından biri yanlış olarak döndürülürse, modül yüklenmez.
Bu sorunu gidermek için:
ApplicationHost.config dosyasını yedekleyin. Bunu yapmak için Bölüm A'ya bakın.
Modülün preCondition özniteliğini bulup düzeltin. Doğru bir şekilde yapılandırıldığından ve modülü kullanacak uygulama havuzunun veya çalışan işlemlerinin özellikleriyle eşleştiğinden emin olun. Özniteliği bulmak için bkz. Bölüm B.
Önkoşullar düzeltildikten sonra, modül başarıyla yüklenmelidir.
ApplicationHost.config dosyasını yedekleme
ApplicationHost.config dosyasını yedeklemek için:
Yükseltilmiş Komut İstemi penceresi açın. Başlat'a tıklayın, imleci Tüm Programlar'a getirin, Donatılar'a tıklayın, Komut İstemi'ne sağ tıklayın ve Yönetici olarak çalıştır'a tıklayın.
Dizini %Windir%\system32\inetsrv olarak değiştirin.
ApplicationHost.config file dosyasını yedeklemek için appcmd add backup backupName yazın.
%Windir%\system32\inetsrv\backup dizininde belirttiğiniz yedekleme adıyla bir dizin oluşturulur. Ad belirtmezseniz, Appcmd.exe tarafından geçerli tarih ve saat kullanılarak otomatik olarak dizin adı oluşturulur.
ApplicationHost.config dosyasında modül girişini bulma
ApplicationHost.config dosyasında modül girişini bulmak için:
Yükseltilmiş Komut İstemi penceresi açın. Başlat'a tıklayın, imleci Tüm Programlar'a getirin, Donatılar'a tıklayın, Komut İstemi'ne sağ tıklayın ve Yönetici olarak çalıştır'a tıklayın.
cd %Windir%\system32\inetsrv\config yazın
notepad applicationHost.config yazın
Not defterinde system.webServer bölümü altında globalModules bölümünü aratın.
preCondition özniteliğini içeren modülü bulun ve gerekirse değiştirin.
ApplicationHost.config dosyasını kaydedin ve not defterinden çıkın.
globalModules bölümü hakkında daha fazla bilgi için bkz. IIS 8: globalModules için Öğe ekle (IIS Ayarları Şeması).
Target | Microsoft.Windows.InternetInformationServices.6.2.WebServer |
Category | Alert |
Enabled | True |
Event_ID | 2296 |
Event Source | Microsoft-Windows-IIS-W3SVC-WP |
Alert Generate | False |
Remotable | True |
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
WA | WriteAction | Microsoft.Windows.Server.IIS.6.2.GenerateAlertAction.SuppressedByDescription | Default |
<Rule ID="Microsoft.Windows.InternetInformationServices.6.2.Module.has.an.invalid.precondition" Enabled="true" Target="Microsoft.Windows.InternetInformationServices.6.2.WebServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-IIS-W3SVC-WP</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2296</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WA" TypeID="Microsoft.Windows.Server.IIS.6.2.GenerateAlertAction.SuppressedByDescription">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.InternetInformationServices.6.2.Module.has.an.invalid.precondition.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>