2013-03-20 19 views
8

Przeprowadziliśmy migrację aplikacji napisanej w klasycznym asp do stron Azure (udostępnione), a niektóre strony po prostu informują o błędzie "Nie można wyświetlić strony, ponieważ wystąpił wewnętrzny błąd serwera." bez żadnych szczegółów. Te strony działają poprawnie w IIS 7 lub przy użyciu Expressu IIS. Jakkolwiek na stronie Azure nie są.Klasyczna strona ASP na platformie Azure "Nie można wyświetlić strony, ponieważ wystąpił wewnętrzny błąd serwera."

Jak sugerowano w niektórych innych postow mam skonfigurowane następujące po stronie na Azure:

1) Rejestrowanie serwera WWW - na
2) szczegółowe komunikaty o błędach - ON
3) Web.config - customErrors tryb wyłączony.

<customErrors mode="Off"/> 
<compilation debug="true" targetFramework="4.0"> 

Wciąż komunikaty dziennika nie zawierają żadnych więcej szczegółów, co jest nie tak i po prostu daje następujące informacje:

Szczegółowe informacje o błędzie:

Moduł IsapiModule
ExecuteRequestHandler Powiadomienie
Handler ASPClassic Kod błędu 0x00000000

Każda pomoc jest doceniana, jak debugować klasyczne strony asp strony na stronach Azure. Dziękuję Ci.

+0

Można skonfigurować program Windows Azure Diagnostics lub użyć zdalnego pulpitu i przejść do wewnętrznego adresu IP zgodnie z rozwiązaniami wymienionymi w poprzednim artykule SO: http://stackoverflow.com/questions/6324463/how-to-debug-azure -500-wewnętrzny-serwer-błąd – AardVark71

+0

dla mojego rozwiązania problemu [ta odpowiedź] (http://stackoverflow.com/a/43521722/5996253) Mam nadzieję pomóc –

Odpowiedz

2
  1. Państwo problem może być po stronie przeglądarki: upewnij się, że IE ustawienie „Pokaż przyjazne komunikaty o” wyłączeniu
    enter image description here

  2. Również po stronie serwera, trzeba mieć trochę ustawienie aby umożliwić komunikaty o błędach mają być wysłane do klienta (przepraszam, nie mam dostępu do smaku IIS tego ustawienia tylko ... nie wiem, co jest w Azure):
    enter image description here

+1

Witryna znajduje się na "stronach Azure" i nie wyświetla się opcja "Wyślij błędy do przeglądarki". Również w przypadku "witryn Azure" wydaje się, że nie ma zdalnego pulpitu na serwer. Nie jestem więc pewien, jak ustawić błędy wysyłania do przeglądarki. Spróbowałem następujących rzeczy bez powodzenia '' w web.config system.webserver section – VVee

+3

Spróbuj tego: dodaj web.config do '' section ' '. Chciałbym też wypróbować niestandardową stronę 500.100 - muszą być dozwolone! –

+0

Dziękuję G. Stoynev! – VVee

11

Dziękuję G. Stoynev! Działało po dodaniu niestandardowej strony asp błędu! Kiedyś kod z poniższego linku, aby utworzyć niestandardowy błędzie asp stronę

http://support.microsoft.com/kb/224070

również poniższy link, a także pomógł http://www.tacticaltechnique.com/web-development/classic-asp-getlasterror-in-iis7/

Teraz sekcja system.webServer w moim web.config wygląda następująco:

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false"/> 
    <modules runAllManagedModulesForAllRequests="true"/> 
    <httpErrors> 
    <remove statusCode="500" subStatusCode="100" /> 
    <error statusCode="500" subStatusCode="100" prefixLanguageFilePath="" path="/errors.asp" responseMode="ExecuteURL" /> 
    </httpErrors> 
    </system.webServer> 
+0

Dzięki za podzielenie się tym –

7

One (nieparzyste) rzeczą, aby spróbować, który pracował dla mnie:

Spróbuj FTP'ing na swojej stronie Azure i zmienić nazwę web.config do czegoś zupełnie innego.

Zmieniłem nazwę na moja na web.config2 - zniknął komunikat o błędzie Azure "The page cannot be displayed because an internal server error has occurred.", a moja aplikacja ASP.Net ponownie uruchomiła się.

Stamtąd odtworzył web.config od podstaw, kopiując fragmenty z mojego wersji oryginalnej, kawałek po kawałku (aby zobaczyć, co było przyczyną problemu)

Tak, wiem ...to głupia sugestia, ale Azure nie dał mi żadnych wskazówek na temat tego, co było przyczyną błędu, nawet po włączeniu logowania, a to uratowało moje zdrowie psychiczne !!

+1

Cóż, dziękuję za tę sugestię. Miałem to działa, a później zdiagnozowano, że problem dotyczy tego samego pliku :) +1 Dziękuję. –

+0

Powiedziałbym to tak - dzisiaj miałem podobny problem i okazało się, że coś lub ktoś zmodyfikował plik web.config, dodając nieprawidłowe rozszerzenie typu MIME, które powodowało awarie wszystkich żądań zawartości statycznej. Prosty do naprawienia, ale wszystkie zakorzenione w wadliwym pliku web.config dla witryny. –

0

Rozwiązałem go, włączając dziennik aplikacji w obszarze Logging => Diagnostics log w konfiguracji aplikacji internetowej Azure.

Możesz wtedy zobaczyć błąd w okienku "Strumień dziennika" i go naprawić.

W moim przypadku błędu w którym następujące dwie linie w web.config:

<add name="ExtensionlessUrlHandler-Integrated-4.0" 
path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" 
preCondition="integratedMode,runtimeVersionv4.0"/> 
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/> 

usunąłem je i ponownie pracował.

0

Jeśli próbujesz skonfigurować witrynę, w której nie masz dostępu do usług IIS, na przykład Azure Web App, możesz skonfigurować klasyczne ustawienia ASP w Web.Config.

Pod

<system.webServer> 

można umieścić element

<asp> 

który konfiguruje różne rzeczy z klasycznym, jak działa.

Obiekt, który wpływa na moje miejsce było

**appAllowDebugging="true"** 

Choć ta właściwość jest cacy, gdy jesteś rozwijania z Visual Studio i mają zainstalowany debugger Just-In-Time, to bałagan błąd obsługa dla Classic Asp.

BTW, zabrało mnie na zawsze, aby dowiedzieć się, co zmieniłem.

Powiązane problemy