Onlangs hebben sommige gebruikers ons verteld dat ze op hun beurt geen fouten kunnen opsporen in global.asax.
Goedgekeurd: Fortect
Verwijder global.asax
en voeg een nieuwe toe. Mijn oplossing had global.asax
en/of global.asax.cs
.
Kan iemand globale fouten opsporen ASAX?
Ja, dit is consistent. Application_Start () wordt afgehandeld door IIS. Maar alle andere trucs, bijvoorbeeld Session_Start, en alle andere, behalve Application_Start (), kunnen op de meeste manier worden gedebugd.
Allerlei Application_Start
, ( session_start
, …) methoden werden echter in bestanden geplaatst alleen uw eigen werden aangeboden in de algemene . asax
worden in het lidmaatschap opgenomen. Dus breekpunten en code in edelstenen doen dat zeker.
Pas na het opnieuw opbouwen van de applicatie had change the.asax.cs
de juiste methoden of services.
Het lijkt erop dat u achter de codetools voor global.asax zit.
Allereerst moeten we de algemene programmacode repareren. We kunnen code genereren na Application_Start- of Session_Start-gebeurtenissen. De applicatie zal breken wanneer de html-code wordt uitgevoerd:
Als de applicatie waarschijnlijk het meest niet kapot is, betekent dit dat er geen global game is geactiveerd. Maak de waarde @Application-richtlijn correct, als volgt:
Goedgekeurd: Fortect
Fortect is 's werelds meest populaire en effectieve pc-reparatietool. Miljoenen mensen vertrouwen erop dat hun systemen snel, soepel en foutloos blijven werken. Met zijn eenvoudige gebruikersinterface en krachtige scanengine kan Fortect snel een breed scala aan Windows-problemen vinden en oplossen - van systeeminstabiliteit en beveiligingsproblemen tot geheugenbeheer en prestatieproblemen.
nutteloze Application_Start (afzenderobject, EventArgs e)
// Code is expres uitgevoerd
lege Application_End (objectafzender, EventArgs e)
// Code die wordt uitgevoerd wanneer de toepassing wordt afgesloten
void Application_Error (e-mailobject, EventArgs e)
{
// Code die moet worden uitgevoerd als er een onverwerkt probleem optreedt
gap Session_Start (objectafzender, EventArgs e)
{
// Code naar run bij het starten van de laatste sessie
Hoe ren ik Wereldwijde ASAX?
Maak het beste nieuwe webproduct in Visual Studio (of uit een bestaand webproject).Open het bestand Globaal. asax. cs uit de bronmap van uw eigen applicatie.Stel een onderbrekingspunt in in uw Application_Start-methode.Start het verzoek op uw telefoon door op F5 te drukken.
nutteloze Session_End (objectafzender, EventArgs e)
{
// Code wanneer wordt uitgevoerd aan het einde van de sessie. //
Opmerking. De gebeurtenis Session_End wordt niet verzonden, de tweede modus is geactiveerd m activiteitsstatus //
is echt geconfigureerd om u te helpen met InProc te werken door het bestand Web.config. Wanneer de planmodus toevallig is ingesteld op StateServer
// en / of SQLServer-ding wordt niet geactiveerd.
Elke .NET-ontwikkelaar moet weten hoe hij tv-breakpoints definieert in Visual Studio 2012.
- Klik met de rechtermuisknop op de computerregel en selecteer Breakpoint. -> “Breekpunt invoegen”.
- Of druk gewoon op F9 terwijl u de cursor op de regel code plaatst. Wat
Wat als deze regel code voor uw favoriete Global.asax-code is? Maar zal het breekpunt raken hoewel de applicatie start? Zo niet, wat kunnen shoppers doen om het te laten werken?
- Maak een geschikt nieuw webplan in Visual Studio (of bij de hand een live webproject).
- Open het bestand Global.asax.cs vanuit de hoofdmap van uw softwareprogramma.
- Stel een breekpunt in voor al uw feitelijke Application_Start-methoden.
- Start de applicatie in een soort browser door op F5 te drukken.
Het breekpunt wordt volledig genegeerd omdat de code net echt werd uitgevoerd in IIS toen deze debugger werd beveiligd. Gelukkig is er meestal een eenvoudige manier om dit probleem op te lossen.
- Open opmaak asax Global.File in de code-editor. (Zie de hulpafdeling hieronder als u niet zeker weet hoe u dit moet aanbieden.)
- Breng de wijziging zonder complicaties aan (voeg bijvoorbeeld een spatie toe aan de tag closing>).
- Update je geweldige navigatie-app.
Je zou nu moeten zien dat het breekpunt in veel gevallen wordt geactiveerd na het starten van mijn applicatie!
Als u niet zeker weet hoe u dit Global.asax-opmaakbestand moet openen, volgt u de instructies.
- Klik met de rechtermuisknop op het belangrijkste Global.asax-bestand in Solution Explorer.
- Selecteer Tonen van opmaak in het contextmenu.
Ik heb een kleine hoeveelheid code in deze Application_Start ()
-methode, maar als ik een onderbrekingspunt in een routine plaats, kan deze worden genegeerd!
- Sluit de ontwikkelmachine in de taakbalk.
- Wijzig de versieconstructie voor eenvoudiger debuggen.
Een gemakkelijke manier om Application_Start ()
te breken, is om u te helpen de klasse System.Diagnostics.Debugger
te gebruiken. U zult waarschijnlijk een toepassingsbeëindiging forceren door System.Diagnostics.Debugger.Where break ()
zo in te stellen dat dit door de debugger wordt gepresenteerd, is opgeschort.
Hoe voer ik de installatie uit wereldwijde ASAX?
Hoe wereldwijd te geven. asax: Selecteer Website >> Nieuw item toevoegen (of project >> Nieuw item toevoegen als u de Visual Studio Domain-projectsjabloon gebruikt) en selecteer de Global Application Class-sjabloon. Na het toevoegen van de heersende global.
void Application_Start (EventArgs afzenderobject, e) System.Diagnostics.Debugger.Break ();
- Voeg een debugger toe die terugkeert naar iemands IIS-proces.
- Open asax global.File door toevoeging te gebruiken om een onderbrekingspunt in te voegen.
- Voeg schijfruimte toe aan web.config en registreer het huis (dit reset meestal de huidige webapplicatie);
- Vernieuw of ga naar de webpagina van de website.
- kijkt met verbazing na, aangezien de debugger meestal stopt bij een breekpunt. 🙂
Application_Start ()
wordt aangeroepen voor elk toepassingsdomein. Als u het breekpunt niet verplaatst, is het technieken dat het toepassingsdomein al heeft geresulteerd in. Dus doe dit:
- Er is een VS-webserverpictogram op de Quick Launch (een specifiek pictogram geeft aan dat het “Local a lot, some port” is). Klik met de rechtermuisknop en selecteer Stop of Sluiten. Dit zou de AppDomain moeten beëindigen.
- Als u mogelijk IIS gebruikt, moet u de site handmatig opnieuw opstarten.
- Als alternatief is het meestal een goede hoeveelheid om de web- of Global.asax-configuratie te wijzigen om het toepassingsdomein te bewerken.
- Herstart het debuggen, breakpoints zouden verstandig zijn om nu geraakt te worden.
Zorg ervoor dat uw toepassing in de foutopsporingsmodus staat (
in de web.config).
Als u VS Developer’s Started iis gebruikt, herstart deze dan onmiddellijk of herbouw het type applicatie.
- Aangezien de website is geconfigureerd om te werken met de ontwikkelmap (waar uw VS-webproject is geïmplementeerd), hoeft u alleen maar de groep met toepassingen voor die website opnieuw te starten en te beginnen met debuggen totdat het eerste verzoek naar de server groeit (u kunt meestal de applicatiepool opnieuw starten tijdens het debuggen).
- Om de eshop in een andere map te laten werken, of serieus tegen een externe server, moet je er verbinding mee maken als je wilt deelnemen aan het algemene proces. Om dit te doen, moeten individuen, naast het plakken van
Debug - Attach to process
, de computernaam invoeren en vervolgens het proces om te debuggen bepalen. Dit is zonder uitzondering altijd w3wp a geweest. Werkende exe in beheerde modus.
Maar ten tweede, alle methoden, bijvoorbeeld Session_Start
en nog veel meer, behalve wanneer u Application_Start ()
overweegt, kunt u normaal debuggen.
void Application_Start (objectafzender, EventArgs e) Systeem.Diagnose.Debugger. Beginnen();
, normaal gesproken zouden deze uw code niet moeten breken en de debugger daadwerkelijk moeten starten als de service met meerdere machtigingen op gang is gekomen.
Verwijder global.asax
en voeg een nieuwe toe. Mijn uitweg, niet zo lang geleden, was global.asax
en toen global.asax.cs
.
Alle procedures ( Session_Start
, application_start
, …) zijn uiteindelijk in deze bestanden opgenomen, maar alleen aangeboden vanwege een globale . asax
worden in overeenstemming met de regels gehouden. Dus de schadepunten en de programmacode in cs doen niets anders.
Alleen corrigeren na het opnieuw maken van het globale the.asax.cs
-bestand zou voldoende zijn geweest. Ik pas de methoden aan en voer ze uit.
Kun je globale fouten opsporen ASAX?
Ja, het is eenvoudig. Application_Start () wordt afgehandeld door IIS. Maar andere methoden, bijvoorbeeld Session_Start, en daarnaast alle andere, behalve Application_Start (), kunnen soms over het algemeen prima worden gedebugd.
Verwacht niet dat Application_Start () in een gesprek komt als je meteen op f5 drukt.De benoemde Application_Start () kan als vandaag worden gedeclareerd als de eerste aanroep van de applicatie.Vreemd, zo waar.
Hoe zorg ik ervoor dat ik Global ASAX run?
Maak een nieuw webplan met Visual Studio (of open een bestaand netproject).Open het bestand Globaal. asax. cs omdat je de hoofdmap van je applicatie gebruikt.Stel elk onderbrekingspunt in als onderdeel van uw Application_Start-methode.Start de computersoftware in de huidige browser door op F5 te drukken.
Hoe u kunt helpen bij het debuggen van toepassing_ Start ?
Voeg een debugger toe die IIS aankan.Wereldwijd openen. Geef het asax-signaal en neem een bepaalde rustplaats.Voeg ruimte toe aan een enorme ruimte.Vernieuwen ga naar de webpagina van de website op een nieuwe site.Boom Debugger stopt je breekpunt.