Otrzymuję błąd:
Błąd HTTP 500.21 - program obsługi wewnętrznego błędu serwera „CloudConnectHandler” ma zły moduł „ManagedPipelineHandler” na liście modułów
mój plik web.config wygląda następująco:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="CloudConnectHandler" verb="*" path="CloudConnect.aspx" type="CloudConnectHandler" resourceType="Unspecified" />
</handlers>
</system.webServer>
<system.web>
<customErrors mode="Off" />
<compilation debug="true" targetFramework="4.0" batch="false">
<assemblies>
<add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
</assemblies>
</compilation>
<pages>
<controls>
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
</controls>
</pages>
<identity impersonate="true" />
<authentication mode="Forms" />
</system.web>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<providerOption name="CompilerVersion" value="v4.0" />
<providerOption name="WarnAsError" value="false" />
</compiler>
</compilers>
</system.codedom>
<appSettings>
<add key="CloudConnectAuthorization" value="xxxx" />
<add key="ConnectionInfo" value="xxxx" />
<add key="ConnectionString" value="xxxx" />
<add key="DefaultChannel" value="xxxx" />
<add key="LoginValidationConnectionString" value="xxxx" />
</appSettings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="protobuf-net" publicKeyToken="257b51d87d2e4d67" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.640" newVersion="2.0.0.640" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Istnieje wiele porad wskazujących, że asp.net nie jest poprawnie zainstalowany. Typowa poprawka to uruchomienie:
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
lub
%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
Uruchomiłem oba bez błędów. Ponownie uruchomiłem usługi IIS, ale problem nadal występuje. Witryna korzysta z puli aplikacji. Pula aplikacji została uruchomiona, .NET Framework = 4.0, Managed Pipeline = Classic, Identity = LocalSystem.
Spędziłem ostatnie kilka godzin, próbując dowiedzieć się, w czym jest problem. Mam nadzieję, że ktoś może pomóc.
Wykonaj następujące kroki:
1) Uruchom wiersz polecenia jako administrator.
2) Wpisz jedną z dwóch poniższych linii w wierszu polecenia:
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
lub
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
źródło
Wystąpił ten błąd w nowej kompilacji systemu Windows Server 2012 R2. Zainstalowano usługi IIS i .NET 4.5, ale rola serwera ASP.NET (w moim przypadku wersja 4.5) nie została dodana. Upewnij się, że wersja ASP.NET, której potrzebujesz, została dodana / zainstalowana, jak ASP.NET 4.5, na tym zrzucie ekranu.
źródło
Aby rozwiązać problem, próbowałem uruchomić
% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -i
Jednak to nie zadziałało dla mnie. Jako administrator muszę uruchomić inną linię poleceń w oknie CMD. Oto polecenie:
lub
Mam nadzieję, że to pomoże.
źródło
%
od początku. Więc wpadłem:dism /online /enable-feature /featurename:IIS-ASPNET45 /all
.Ten błąd wystąpił w mojej aplikacji ASP.Net 4.5 w systemie Windows Server 2012 R2.
Przejdź do menu Start -> „Włącz lub wyłącz funkcje systemu Windows”. Pojawił się dla mnie czarodziej.
Kliknij przycisk obok ról serwera
Musiałem to sprawdzić, aby to zadziałało, znajdujące się w Web Server IIS-> Web Server-> Application Development (są one oparte na powyższej odpowiedzi Jeremy'ego Cooka):
Następnie kliknij obok opcji Funkcje i upewnij się, że są zaznaczone:
Następnie kliknij Dalej i Zainstaluj. W tym momencie błąd zniknął za mnie. Powodzenia!
źródło
Dzieje się tak, ponieważ usługi IIS 7 używają programów obsługi http z obu
<system.web><httpHandlers>
i<system.webServer><handlers>
. jeśli potrzebujesz CloudConnectHandler w swojej aplikacji, powinieneś dodać<httpHandlers>
sekcję z tym handlerem do<system.web>
:<httpHandlers> <add verb="*" path="CloudConnect.aspx" type="CloudConnectHandler" /> </httpHandlers>
a także dodaj
preCondition
atrybut do handlera w<system.webServer>
:<handlers> <add name="CloudConnectHandler" verb="*" path="CloudConnect.aspx" type="CloudConnectHandler" preCondition="integratedMode" /> </handlers>
Mam nadzieję, że to pomoże
źródło
U mnie otrzymywałem ten komunikat o błędzie podczas korzystania z
PUT
lubDELETE
do interfejsu WebAPI. Próbowałem również ponownie zarejestrować .NET Framework zgodnie z sugestią, ale bezskutecznie.Udało mi się to naprawić, wyłączając WebDAV dla mojej indywidualnej puli aplikacji, co zatrzymało błąd „złego modułu” podczas używania
PUT
lubDELETE
.Wyłącz WebDAV dla indywidualnej puli aplikacji:
WebDAV Authoring Tools
na liścieDisable WebDAV
w prawym górnym rogu.Ten link to miejsce, w którym znalazłem instrukcje, ale nie jest to zbyt jasne.
źródło
Miałem ten problem w systemie Windows 10, gdy potrzebowałem usług IIS zamiast IIS Express. Nowy projekt sieciowy nie powiódł się z powodu błędu OP. Naprawiono
Control Panel > Turn Windows Features on or off > Internet Information Services > World Wide Web Services > Application Development Features
zaznacz
ASP.NET 4.7
(w moim przypadku)źródło
Miałem ten problem za każdym razem, gdy wdrażałem nową witrynę internetową lub aktualizowałem istniejącą za pomocą MSDeploy .
Udało mi się to naprawić, zwalniając domenę aplikacji za pomocą MSDeploy z następującą składnią:
msdeploy.exe -verb:sync -source:recycleApp -dest:recycleApp="Default Web Site/myAppName",recycleMode=UnloadAppDomain
Możesz także zatrzymać, uruchomić lub ponownie uruchomić pulę aplikacji - więcej szczegółów tutaj: http://technet.microsoft.com/en-us/library/ee522997%28v=ws.10%29.aspx
Chociaż rozwiązanie Armaana pomogło mi się uwolnić, nie spowodowało, że problem zniknął na stałe.
źródło
jeśli jest to IIS 8, przejdź do panelu sterowania, włącz / wyłącz funkcje systemu Windows i włącz nieprawidłową „Aktywację nazwanego potoku”, a następnie uruchom ponownie usługi IIS. Mam nadzieję, że to samo działa z usługami IIS 7
źródło
Odkryłem, że kolejność dodawania ról i funkcji jest ważna. Na nowym systemie aktywuję rolę "serwer aplikacji" i tam sprawdzam wyraźnie .net, obsługę serwera WWW i wreszcie usługę aktywacji procesu. Następnie automatycznie pojawia się dialog, że należy również dodać rolę "Serwer WWW".
źródło
Zainstaluj .NET framework jak poniżej, będzie działać również .NET w wersji 4.5 .
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir
Czasami tylko dawanie
aspnet_regiis.exe -i
nie działa, więc poddaj sięaspnet_regiis.exe -ir
powyższej ścieżce.źródło