Internetowe usługi informacyjne (IIS) 9 umożliwiają deweloperom proste konfigurowanie macierzystych i zarządzanych modułów kodu, które mogą przetwarzać żądania wysyłane do serwera sieci Web. Aby procesy robocze mogły załadować moduły, muszą one być prawidłowo skonfigurowane. Prawidłowa konfiguracja modułu wymaga podania unikatowej nazwy oraz prawidłowego typu lub ścieżki. Dla modułów zarządzanych można określić, czy powinny być wywoływane tylko w przypadku żądań do aplikacji ASP.NET lub zarządzanych programów obsługi. Określenie tego ustawienia może zoptymalizować wydajność.
Popraw rejestrację modułu
W środowisku IIS10 moduł to jednostka logiczna, która może subskrybować zdarzenia serwera. Serwer sieci Web jest skonfigurowany w taki sposób, aby moduły były ładowane podczas jego uruchamiania. Podczas uruchamiania serwer wysyła do modułu żądanie rejestracji do zdarzeń, o których moduł ma otrzymywać informacje. Implementacja modułu odpowiada za rejestrację modułu do wymaganych zdarzeń. Jeśli moduł nie ma prawidłowego punktu wejścia, do którego serwer może uzyskać dostęp w celu jego rejestracji, rejestracja zakończy się niepowodzeniem.
Aby rozwiązać ten problem, wykonaj następujące czynności:
Wykonaj kopię zapasową pliku ApplicationHost.config. Odpowiednie instrukcje można znaleźć w sekcji A.
Usuń moduł z listy modułów w sekcji globalModules pliku ApplicationHost.config. Jeśli moduł jest wymieniony w pliku ApplicationHost.config, serwer podejmie próbę załadowania go podczas uruchomienia, a każdy proces roboczy, który spróbuje z niego skorzystać, nie będzie mógł tego zrobić. Informacje o usuwaniu modułu z konfiguracji są podane w sekcji B.
Deweloper musi poprawić punkt wejścia w module, aby mógł on zostać pomyślnie zarejestrowany w serwerze.
Po poprawie punktu wejścia modułu ponownie dodaj moduł do pliku ApplicationHost.config.
Wykonaj kopię zapasową pliku ApplicationHost.config
Aby wykonać kopię zapasową pliku ApplicationHost.config:
Otwórz wiersz polecenia z podwyższonym poziomem uprawnień. Kliknij przycisk Start, wskaż polecenie Wszystkie programy, kliknij opcję Akcesoria, prawym przyciskiem myszy kliknij opcję Wiersz polecenia, a następnie kliknij polecenie Uruchom jako administrator.
Przejdź do katalogu %Windir%\system32\inetsrv.
Wpisz appcmd add backup nazwa_kopii_zapasowej, aby wykonać kopię zapasową pliku ApplicationHost.config.
W katalogu %Windir%\system32\inetsrv\backup zostanie utworzony katalog o podanej nazwie kopii zapasowej. Jeśli nie określisz nazwy, wykonanie polecenia appcmd spowoduje automatyczne utworzenie nazwy katalogu z użyciem bieżącej daty i godziny.
Usuń moduł z konfiguracji
Aby usunąć moduł z konfiguracji:
Otwórz wiersz polecenia z podwyższonym poziomem uprawnień. Kliknij przycisk Start, wskaż polecenie Wszystkie programy, kliknij opcję Akcesoria, prawym przyciskiem myszy kliknij opcję Wiersz polecenia, a następnie kliknij polecenie Uruchom jako administrator.
Przejdź do katalogu %Windir%\system32\inetsrv\config.
Wpisz notepad ApplicationHost.config.
W programie Notatnik znajdź sekcję globalModules w sekcji system.webServer.
Znajdź wpis modułu powodującego błędy i usuń go.
Zapisz plik ApplicationHost.config i wyjdź z Notatnika.
Aby uzyskać więcej informacji na temat sekcji globalModules, zobacz IIS 10: add Element for globalModules (IIS Settings Schema) (IIS 10: element add dla elementu globalModules — schemat ustawień usług IIS).
Target | Microsoft.Windows.InternetInformationServices.10.0.WebServer |
Category | Alert |
Enabled | True |
Event_ID | 2295 |
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.10.0.GenerateAlertAction.SuppressedByDescription | Default |