it-swarm-eu.dev

Režim CustomErrors = "Vypnuto"

Dostávám chybu pokaždé, když nahraju webapp pro poskytovatele. Z důvodu režimu customErrors vše, co vidím, je výchozí zpráva "Chyba při běhu", která mě upozorňuje, abych vypnul customErrors k zobrazení více o chybě.

Podrážděně jsem nastavil web.config tak, aby vypadal takto:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>

a stále, vše, co jsem si, je hloupé stránky vzdálené chyby s žádnými užitečnými informacemi o tom. Co jiného mohu udělat, abych vypnul customErrors!?

234
Radu094

To mě v posledních několika dnech šokovalo a nemohlo se mi to dostat, ale konečně jsem na to přišel:

V mém souboru machine.config jsem měl záznam pod <system.web>:

<deployment retail="true" />

Zdá se, že toto nastavení přepíše všechna nastavení customError, která jste zadali v souboru web.config, takže nastavení výše uvedené položky:

<deployment retail="false" />

znamená, že mohu znovu vidět podrobné chybové zprávy, které potřebuji.

machine.config se nachází na adrese

32-bit

%windir%\Microsoft.NET\Framework\[version]\config\machine.config

64-bit

%windir%\Microsoft.NET\Framework64\[version]\config\machine.config 

Doufám, že někdo pomůže venku a ušetří pár hodin tahání za vlasy.

151
Ronan

„Vypnuto“ rozlišuje velká a malá písmena.

Zkontrolujte, zda je "O" ve vašem souboru web.config velké, trpěl jsem to několikrát (jak je to jednoduché)

126
juan

V zájmu přidání více situací k této otázce (protože to je místo, kde jsem se díval, protože jsem měl stejný problém), zde je moje odpověď:

V mém případě jsem řez/vložil text z obecné chyby říká v podstatě, pokud chcete vidět, co je špatně, dát 

<system.web>
   <customErrors mode="Off"/>
</system.web>

Takže tohle by to mělo opravit, ale samozřejmě ne! Mým problémem bylo, že existoval uzel <system.web> několik řádků nad (před kompilačním a ověřovacím uzlem) a uzavírací značka </system.web> několik řádků pod ním. Jakmile jsem to opravil, OK, problém se vyřešil. To, co jsem měl udělat, je kopírovat/vkládat pouze tento řádek:

<customErrors mode="Off"/>

Toto je z análů hloupých věcí, které dělám znovu a znovu, v kapitole nazvané "Kopírovat a vložit si cestu k zničení".

47
Cyberherbalist

Pro aplikace Sharepoint 2010 byste také měli upravit C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\web.config a definovat <customErrors mode="Off" />

10
Rubens Farias

Jedna odpověď, která to vlastně pracovala, jsem našla zde: https://stackoverflow.com/a/18938991/550975

Stačí to přidat do souboru web.config:

<configuration>  
  <system.webServer>  
    <httpErrors existingResponse="PassThrough"/>  
  </system.webServer>  
<configuration>
7
Serj Sagan

Pokud máte k ní přístup, můžete obecně najít více informací o chybě v Prohlížeči událostí. Zprostředkovatel může také zabránit vlastní chyby v zobrazení vůbec, buď přepsání v jejich machine.config nebo nastavení atribut maloobchodní hodnotu true ( http://msdn.Microsoft.com/en-us/library/ ms228298 (VS.80) .aspx ). 

6
digitaljeebus

Vyzkoušel jsem většinu zde popsaných věcí. Použil jsem VWD a výchozí soubor web.config obsahoval:

    <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
        <error statusCode="403" redirect="NoAccess.htm" />
        <error statusCode="404" redirect="FileNotFound.htm" />
    </customErrors>

Změnil jsem režim = "RemoteOnly" na režim = "Vypnuto". Pak jsem použil IIS manažera, vlastnosti, ASP.Net Tab, Editovat konfiguraci a pak vybral záložku CustomeErrors. To stále ukazovalo RemoteOnly. Změnil jsem to na Off a nakonec jsem viděl podrobné chybové zprávy.

Když jsem zkontroloval web.config, viděl jsem, že v system.web byly dva uzly CustomErrors; a právě jsem si všiml, že druhý záznam (ten, který jsem změnil, byl uvnitř komentáře). Takže zkuste nepoužívat poznámkový blok ke kontrole web.config na vzdáleném serveru.

Pokud však použijete nastavení IIS, bude se stěžovat na chyby ve web.config. Pak můžete vyloučit všechny odpovědi, které říkají: „ve vašem web.configu je chyba syntaxe XML“

6
Philip Madams

Pokud jste stále na této stránce, je pravděpodobné, že je to vyhodit do povětří, než se dostane přes Web.Config

Ujistěte se, že ASP.Net má oprávnění potřebná pro věci, jako jsou složky .Net Framework, metabáze IIS atd. Máte nějaký způsob, jak ověřit, zda je ASP.Net správně nainstalován a přidružen v IIS správně?

Edit: Po Gregově komentáři se mi zdálo, že to, co jste poslali, bylo celé vaše velmi minimální web.config, je k tomu více? Pokud ano, můžete odeslat celý web.config?

5
Nick Craver

Můj problém byl, že jsem to definoval v mém webu

<httpErrors errorMode="Custom" existingResponse="Replace">
  <remove statusCode="404" />
  <remove statusCode="500" />
  <error statusCode="404" responseMode="ExecuteURL" path="/Error/NotFound" />
  <error statusCode="500" responseMode="ExecuteURL" path="/Error/Internal" />
</httpErrors>
5
Dongolo Jeno

Také jsem měl tento problém, ale když používám Apache a mod_mono. Pro kohokoli jiného v této situaci je třeba restartovat Apache po změně web.config, aby byla nová verze nutná ke čtení.

5
mikel

Vlastně, co jsem přišel při hostování mé webové aplikace je kód, který jste vyvinuli na vašem místním počítači je vyšší verze než hosting společnost nabízí. Pokud máte oprávnění administrátora, budete moci změnit podporu verze Microsoft ASP.NET v nastavení webhostingu 

2
Joseph D'Souza

Také jsme narazili na tuto chybu a v našem případě to bylo proto, že uživatel fondu aplikací již nemá oprávnění k souboru web.config. Důvodem, proč ztratila svá oprávnění (všechno bylo v pořádku dříve), bylo to, že jsme měli záložní stránku v souboru rar a přetáhli jsem záložní verzi web.config z rar do stránek. Zdá se, že jste odstranili všechna oprávnění k souboru web.config kromě mého, přihlášeného uživatele. 

Trvalo nám chvíli, než jsme to zjistili, protože jsem opakovaně kontroloval oprávnění na úrovni složek, ale nikdy na úrovni souborů. 

2
Ghlouw

Měli jsme tento problém a bylo to kvůli tomu, že uživatel IIS nemá přístup k configu stroje na webovém serveru.

2
Tjaart

Pokud používáte náhled MVC 4, mohlo by se to stát, protože používáte funkci HandleErrorAttribute. Chování se změnilo v 5, takže při zpracování vlastních chyb nezpracovává výjimky.

1
Will

Právě jsem se zabýval podobnou otázkou. V mém případě byla výchozí stránka asp.net verze 1.1, zatímco jsem se pokoušel spustit webovou aplikaci 2.0. Chyba byla docela triviální, ale nebylo okamžitě jasné, proč by vlastní chyby nezmizely a runtime nikdy nezapisovalo do protokolu událostí. Zjevná oprava měla odpovídat verzi v záložce Asp.Net IIS.

1
Roman

Zkuste restartovat aplikaci (vytvořením app_offline.htm než odstraněním) a pokud se stále zobrazuje stejná chybová zpráva, ujistěte se, že jste v web.config, nebo cokoliv podobného, ​​deklarovali pouze jednou. Chyby v web.config mohou mít na aplikaci nějaký zvláštní vliv.

1
Adam Vigh

Máte ve svém web.configu nějaký speciální znak jako æøå? Pokud ano, zkontrolujte, zda je kódování nastaveno na utf-8.

1
Frederik Vig

Můžete také zkusit vychovávat webové stránky v prohlížeči na počítači serveru. Nemám moc ASP.NET vývoj, ale pamatuji si vlastní chyby věc má nastavení pouze pro zobrazení úplné chyby text na serveru, jako bezpečnostní opatření.

1
Neil Barnwell

Měl jsem stejný problém, ale našel jsem odhodlání jiným způsobem. 

-

To, co jsem udělal, bylo, že jsem otevřel Pokročilá nastavení pro Aplikační fond v IIS manažer .

Tam jsem nastavil Enable 32-Bit Applications to True

1
Levi Johansen

Je tato webová aplikace nastavena pod jinými aplikacemi ve stromovém adresáři webu? Zkontrolujte všechny rodičovské soubory web.config pro jiná nastavení, pokud existují. Také proveďte nastavení adresáře jako adresář aplikace ve službě IIS.

1
Greg Hurlman

To je opravdu divné. Mám tuto chybu a po restartu serveru zmizel.

0
Ustin

Měl jsem stejný problém a příčinou bylo, že IIS byl spuštěn ASP.NET 1.1 a web vyžadoval .NET 2.0.

Chybová zpráva nic neudělala, ale několik hodin mě vyhodila z cesty.

0
SimonHL

Po vyzkoušení všech odpovědí se ukázalo, že moje metoda Application_Error to měla:

Server.ClearError();
Response.Redirect("/Home/Error");

Odstranění těchto řádků a nastavení opravilo problém. (Klient je stále přesměrován na chybovou stránku pomocí customErrors="On").

0
EM0

Pro mě to byla chyba výše ve web.configu nad system.web.

soubor blah neexistoval, takže v tomto bodě byla chyba. Protože se ještě nedostal do sekce System.Web, ale používal výchozí nastavení serveru pro CUstomErrors (On)

0
andrew wisener

Ujistěte se, že jste přidali Hned za system.web

Položil jsem ji ke konci uzlu a nefungoval. 

0
Nayef

Pokud provádíte konfigurační transformaci, můžete z příslušného souboru web.config také odstranit následující řádek.

<compilation xdt:Transform="RemoveAttributes(debug)" />
0
Rich Hildebrand

Také se ujistěte, že editujete web.config a ne website.config, jak jsem dělal.

0
Eleanor Zimmermann

Měl jsem stejný problém a prošel jsem aplikačním protokolem prohlížeče událostí, kde se jasně uvádí, kvůli které výjimce se to stalo. V mém případě byla výjimka nižší než níže ...

Informace o výjimce:

Exception type: HttpException 
Exception message: The target principal name is incorrect.  Cannot generate SSPI context.
at System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app)
at System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers)
at System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)
at System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context)
at System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)

The target principal name is incorrect.  Cannot generate SSPI context.

Právě jsem aktualizoval své heslo ve fondu aplikací a funguje to pro mě.

0
Niraj Trivedi

Je také možné, že web.config není správně naformátován. V takovém případě musíte projít řádek po řádku před tím, než bude fungovat. Pravidla přepsání jsou často viníkem.

0
chriskuffner