2016-02-03 90 views
10

Próbuję pobrać inną aplikację programisty działającą na moim komputerze. Rozwiązanie jest budowane w VS 2015 przy użyciu Web API i używam go w 64-bitowym IIS Express. Każda prośba zwraca błędy 500.0. Żądanie dziennika śledzenia to mówi o nim:ExtensionlessUrlHandler i "Rekursja zbyt głęboka, stos przepełniony"

1517. -MODULE_SET_RESPONSE_ERROR_STATUS 
ModuleName ManagedPipelineHandler 
Notification EXECUTE_REQUEST_HANDLER 
HttpStatus 500 
HttpReason Internal Server Error 
HttpSubStatus 0 
ErrorCode  Recursion too deep; the stack overflowed. (0x800703e9) 
ConfigExceptionInfo 

Odpowiednia sekcja config wygląda następująco:

<system.webServer> 
<handlers> 
    <remove name="OPTIONS" /> 
    <remove name="OPTIONSVerbHandler" /> 
    <remove name="TRACEVerbHandler" /> 
    <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
    <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> 
    <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> 
    <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> 
    <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> 
    <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*" verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 
</handlers> 
</system.webServer> 

Inne potencjalnie istotne fakty:

  • Maszyna nie została wykorzystana do sieci hosting wcześniej, ale ja robiłem dużo rozwoju VS2013 i tylko zainstalowałem 2015 w zeszłym tygodniu, aby uruchomić ten projekt.
  • Projekt zawiera niektóre funkcje C# 6.0, a mianowicie nowe gadżety interpolacji ciągów.

Jak mógłbym zacząć to debugować? Dostaję zero trafnych trafień w Google.

+0

Znam również tę kwestię. Czy znalazłeś już rozwiązanie? –

+0

Obecnie doświadczam tego na jednej określonej trasie. Inne trasy działają dobrze. –

+0

Widzę to również. Wszelkie komentarze będą mile widziane. – Tom

Odpowiedz

0

Zmień ścieżkę = "*" na ścieżkę = "*." w każdej z obsługiwanych funkcji obsługi.

<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> 
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> 
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 

Wierzę, że istnieje sposób na wykorzystanie path = „”, ale nie zorientowali się, co to jest. Właśnie natknąłem się na to pytanie, ponieważ próbowałem użyć ścieżki = "" i wtedy został zgłoszony błąd "recursion too deep ...".