Nyligen sa vissa användare till oss att de inte kan felsöka global.asax.
Godkänd: Fortect
Ta bort global.asax
och lägg till en ny. Min lösning hade global.asax
och global.asax.cs
.
Kan du felsöka global ASAX?
Ja, detta är konsekvent. Application_Start () hanteras definitivt av IIS. Men alla andra metoder, till exempel Session_Start, och alla andra, förutom Application_Start (), kan felsökas på vanligt sätt.
Alla typer av Application_Start
, ( session_start
, …) metoder lades i filer, men egentligen erbjöds dina egna i everybody is . asax
beaktas. Brytpunkter och kod i ädelstenar gör alltså ingenting.
Bara på grund av ombyggnaden av applikationen hade omgivningen the.asax.cs
rätt metoder eller utförde jobbet otal.
Det verkar som om du ligger bakom kodresurserna designade för global.asax.
Först och främst måste vi fixa den vanliga koden. Vi kan generera kod efter funktionerna Application_Start eller Session_Start. Applikationen kommer att gå sönder när koden faktiskt körs:
Om applikationen förmodligen snarare än är trasig betyder det att ingen global händelse kan ha utlösts. Vänligen gör den billiga @Application informationen korrekt, så här:
Godkänd: Fortect
Fortect är världens mest populära och effektiva PC-reparationsverktyg. Det litar på miljontals människor för att hålla sina system igång snabbt, smidigt och felfritt. Med sitt enkla användargränssnitt och kraftfulla skanningsmotor hittar och fixar Fortect snabbt ett brett utbud av Windows-problem – från systeminstabilitet och säkerhetsproblem till minneshantering och prestandaflaskhalsar.
värdelös Application_Start (avsändarobjekt, EventArgs e)
// Koden exekveras med avsikt
void Application_End (objektavsändare, EventArgs e)
// Kod där körs när programmet avslutas
void Application_Error (e-postmål, EventArgs e)
{
// Kod som ska köras när något obehandlat problem uppstår
void Session_Start (objektavsändare, EventArgs e)
{
// Kod att erbjuda när du startar förra sessionen
Hur kör jag Global ASAX?
Skapa en enastående webbprodukt i Visual Studio (eller öppna flera befintliga webbprojekt).Öppna filen Global. asax. ädelstenar från källmappen för din applikation.Ställ in en brytpunkt i din Application_Start-metod.Starta appen om ämnet för din telefon genom att trycka på F5.
void Session_End (objektavsändare, EventArgs e)
{
// Kod som uppgår till slutet av sessionen. //
Notera. Händelsen Session_End skickas inte förrän typen av andra läge aktiveras m session indikera //
är tweakad för att hjälpa dig att arbeta med InProc i hela Web.config-filen. När planläget är placerat på StateServer
// och / eller SQLServer-händelsen utlöses vanligtvis inte.
Varje .NET-utvecklare bör ta hänsyn till hur man definierar TV-brytpunkter i Visual Studio 2012.
- Högerklicka på kodraden och välj Breakpoint. -> “Infoga brytpunkt”.
- Eller tryck precis på F9 medan du placerar huvudmarkören på kodraden. Vad
Vad men om denna kodrad är för din Global.asax-kod? Men kommer brytpunkten att slå när en viss applikation startar? Om inte, vad kan du göra för att få det att fungera?
- Skapa en annan webbplan i Visual Studio (eller öppna ett större livewebbprojekt).
- Öppna Global.asax.cs-bilden från rotmappen i ditt program.
- Ställ in en brytpunkt i alla dina Application_Start-metoder.
- Kör programmet i en besökare genom att trycka på F5.
Brytpunkten ignoreras verkligen eftersom koden precis dödades i IIS när den här felsökaren kopplades. Lyckligtvis finns det vanligtvis ett enkelt sätt att lindra detta problem.
- Öppna markup asax Global.File under kodredigeraren. (Se hjälpavsnittet under om du är osäker på hur du gör detta.)
- Gör ändringen utan konsekvenser (lägg till exempel till ett mellanslag i den avslutande>-taggen).
- Uppdatera din fantastiska navigeringsapp.
Du kommer nu att se att brytpunkten vanligtvis är relaterad efter att jag har startat min ansökan!
Om du vanligtvis är osäker på hur du öppnar den här uppmärkningsfilen Global.asax, följ instruktionerna.
- Högerklicka på filen Global.asax i Solution Explorer.
- Välj Visa från markering från snabbmenyn.
Jag slutar med en liten mängd kod i någon Application_Start ()
metod, men om jag har en brytpunkt i en rutin kommer den alltid att ignoreras!
- Stäng utvecklingsservern sist aktivitetsfältet.
- Ändra versionskonfigurationen för enklare felsökning.
Ett enkelt sätt så att du kan bryta Application_Start ()
är att utnyttja klassen System.Diagnostics.Debugger
. Du kan pusha en applikationsavslutning genom att ställa in System.Diagnostics.Debugger.Where break up ()
så att felsökningen inte har stängts av för länge sedan.
Hur installerar jag global ASAX?
Hur man ger globalt. asax: Välj Webbplats >> Lägg till nytt objekt (eller Projekt >> Lägg till nytt objekt om du använder Visual Studio-domänprojektmallen) och välj den globala applikationsklassens mall. Efter att ha lagt till den viktigaste globala.
undvik Application_Start (EventArgs avsändarobjekt, e) System.Diagnostics.Debugger.Break ();
- Koppla en debugger till någon annans IIS-process.
- Öppna asax global. Fil faktiskt för att infoga en brytpunkt.
- Lägg till utrymme med web.config och registrera huset (detta kommer att nollställa den aktuella webbapplikationen);
- Uppdatera / gå till webbplatsens webbsida.
- tittar på häpnad när felsökaren vanligtvis stannar vid en viktig brytpunkt. 🙂
Application_Start ()
kallas bokstavligen för varje applikationsdomän. Om du inte flyttar brytpunkten betyder det att applikationsdomänen redan har skapats. Så gör så här:
- Det finns en VS omfattande serverikon på snabbstarten (en exakt ikon indikerar att det är “Lokal värd, mest port”). Högerklicka och välj Stoppa eller Stäng. Detta bör avsluta AppDomain.
- Om du använder IIS måste du starta om vår webbplats manuellt.
- Alternativt är det vanligtvis tillräckligt för att ändra webb- eller Global.asax-konfigurationen för att starta om min applikationsdomän.
- Starta om felsökning, brytpunkter måste nu ha träffats.
Se till att din applikation är i felsökningsstil (
visas i web.config).
Om du använder VS Developer’s Started iis, starta om den omedelbart eller bygg om användningen.
- Eftersom webbplatsen är konfigurerad för att fungera med utvecklingskatalogen (där ditt VS-webbprojekt är utplacerat), behöver du bara återuppta applikationspoolgruppen för den webbplatsen och därmed börja felsöka tills den första begäran når en viss server (du kan vanligtvis starta om ekonomiprogrampoolen medan du felsöker).
- För webbplatsen som skulle fungera i en annan mapp, eller till och med i motsats till en fjärrserver, måste du gå med, tänk på detta om du vill delta i medlen. För att göra detta, förutom att hålla fast
Debug - Bifoga till process
, kommer du att ange datornamnet och sedan välja den process som ska felsökas. Utan undantag är detta också w3wp a. Fungerar exe i hanterat läge.
Men för det andra, alla metoder, till exempel Session_Start
och mycket mer, förutom Application_Start ()
, kan du felsöka normalt.
void Application_Start (objektavsändare, EventArgs e) System.Diagnos.Debugger. Börja();
, som normalt inte kunde bryta din kod och bör ställa in felsökningen om tjänsten startades utöver flera behörigheter.
Ta bort global.asax
och lägg till en ny. Min lösning, för inte så länge sedan var global.asax
global.asax.cs
.
Alla procedurer ( Session_Start
, application_start
, …) var förladdade i dessa filer, men erbjöds endast med denna globala
Först efter att ha återskapat den globala filen the.asax.cs
anpassade jag och körde metoderna.
Kan du felsöka globalt ASAX?
Ja, verkligen enkelt. Application_Start () hanteras av IIS. Men andra metoder, till exempel Session_Start, och förutom alla andra, förutom Application_Start (), kan ibland förbli felsökta.
Förvänta dig inte att Application_Start () förvandlas direkt till ett samtal när du trycker på f5 direkt.Den identifierade Application_Start () kan deklareras så snart, främst på grund av det första anropet till ansökan.Konstigt, men legitimt.
Hur kör jag Global ASAX?
Skapa ett nytt webbprojekt i Visual Studio (eller öppna ett befintligt nätprojekt).Öppna filen Global. asax. cs på grund av din rotmapp för din applikation.Ställ in en brytpunkt som är en del av din Application_Start-metod.Kör programmet som finns i den aktuella webbläsaren genom att trycka på F5.
Hur felsöker jag applikationen_ Starta?< /h2>Bifoga en debugger som kan hantera IIS.Öppna globalt. Ge asax-signalen och ta en sovplats.Lägg till utrymme till ett stort utrymme.Uppdatera/resa till webbplatsens webbsida på specifik webbplats.Boom Debugger kommer att stoppa din brytpunkt.