Kürzlich haben uns einige Benutzer mitgeteilt, dass sie global.asax nicht debuggen können.
Genehmigt: Fortect
Entfernen Sie global.asax
und fügen Sie nur eine neue hinzu. Meine Lösung hatte global.asax
und auch global.asax.cs
.
Kann jemand global debuggen? ASAX?
Ja, das ist konsistent. Application_Start() wird von IIS verarbeitet. Aber alle anderen Wege, zum Beispiel Session_Start und alle anderen, außer Application_Start(), können auf die übliche Weise debuggt werden.
Alle Arten von Application_Start
, ( session_start
, …) Methoden wurden nur in Dateien abgelegt in Ihrem globalen wurden nur Ihre eigenen angeboten. asax
werden in Fonds aufgenommen. Daher haben Breakpoints und Code in Gems keine einzige Sache.
Erst nach dem Neuaufbau der Anwendung hatte , wenn wir an die.asax.cs
denken, die richtigen Methoden oder operierte otal.
Es sieht so aus, als ob Sie hinter den Code-Annehmlichkeiten für global.asax stecken.
Zuallererst müssen wir die gemeinsame Richtlinie korrigieren. Wir können Code nach Application_Start- oder Session_Start-Ereignissen generieren. Die Anwendung wird unterbrochen, wenn die Codes ausgeführt werden:
Wenn die Anwendung zweifelsfrei nicht kaputt ist, bedeutet dies, dass keine globale Aktivität ausgelöst wurde. Bitte korrigieren Sie das Preisschild @Application-Direktive wie folgt:
Genehmigt: Fortect
Fortect ist das weltweit beliebteste und effektivste PC-Reparaturtool. Millionen von Menschen vertrauen darauf, dass ihre Systeme schnell, reibungslos und fehlerfrei laufen. Mit seiner einfachen Benutzeroberfläche und leistungsstarken Scan-Engine findet und behebt Fortect schnell eine breite Palette von Windows-Problemen - von Systeminstabilität und Sicherheitsproblemen bis hin zu Speicherverwaltung und Leistungsengpässen.
nutzlos Application_Start (Sender-Objekt, EventArgs e)
// Code wird absichtlich ausgeführt
nutzlos Application_End (Objektsender, EventArgs e)
// Code, der beim Beenden der Anwendung ausgeführt wird
void Application_Error (E-Mail-Objekt, EventArgs e)
{
// Code, der ausgeführt werden soll, da ein unbehandeltes Problem auftritt
Vermeiden Sie Session_Start (Objektsender, EventArgs e)
{
// Code zum Ausführen beim Starten der letzten Sitzung
Wie führe ich aus? Globales ASAX?
Erstellen Sie das beste neue Webprodukt in Visual Studio (oder einem verfügbaren Webprojekt).Öffnen Sie die Datei Global. asax. cs aus dem Quellordner der Anwendung Ihres Unternehmens.Legen Sie einen Haltepunkt in Ihrer Application_Start-Methode fest.Starten Sie die mobile Anwendung auf Ihrem Telefon, indem Sie F5 drücken.
leer Session_End (Objektsender, EventArgs e)
{
// Code, der am Ende der Sitzung ausgeführt wird. //
Notiz. Das Ereignis Session_End wird irgendwann nicht mehr abgesetzt, der zweite Modus wird im Status der Trainingssitzung aktiviert //
Sie können die Datei Web.config so konfigurieren, dass Sie mit InProc arbeiten können. Wann wird der Planmodus wahrscheinlich auf StateServer eingestellt
// und / oder SQLServer Race wird nicht ausgelöst.
Jeder .NET-Entwickler weiß wirklich, wie man TV-Haltepunkte in Visual Studio 2012 definiert.
- Klicken Sie mit der rechten Maustaste auf die Richtlinienzeile und wählen Sie Breakpoint. -> “Haltepunkt einfügen”.
- Oder drücken Sie einfach F9, während Sie den größten Cursor auf die Codezeile setzen. Was
Was ist, wenn diese Codezeile für den Global.asax-Code einer Person gilt? Aber wird der Breakpoint erreicht, wenn die Anwendung gestartet wird? Wenn nicht, was kann jemand tun, damit es funktioniert?
- Erstellen Sie einen vertrauenswürdigen neuen Webplan in Visual Studio (oder öffnen Sie ein Live-Webprojekt).
- Öffnen Sie die Datei Global.asax.cs aus dem Stammordner Ihrer Aufgabe.
- Legen Sie einen Haltepunkt in allen Application_Start-Methoden Ihrer Familie fest.
- Führen Sie die Anwendung im neuesten Browser aus, indem Sie F5 drücken.
Die Breakpoints werden komplett ignoriert, da der Code gerade wirklich in IIS ausgeführt wurde, als dieser Debugger eingebunden wurde. Glücklicherweise gibt es normalerweise eine einfache Möglichkeit, dieses Problem zu beheben.
- Markup asax Global.File im Code-Editor öffnen. (Siehe den Hilfeteil unten, wenn Sie sich nicht sicher sind, wie Sie damit beginnen sollen.)
- Nehmen Sie die Änderung ohne Nachteile vor (fügen Sie beispielsweise ein Leerzeichen zum schließenden>-Tag hinzu).
- Aktualisieren Sie Ihre fantastische Navigations-App.
Sie sollten jetzt sehen, dass der Breakpoint häufig nach dem Starten meiner Anwendung ausgelöst wird!
Wenn Eigentümer nicht sicher sind, wie diese Markup-Datei Global.asax geöffnet werden soll, befolgen Sie die Anweisungen.
- Klicken Sie mit der rechten Maustaste auf die Datei Global.asax im Projektmappen-Explorer.
- Wählen Sie Aus Markup anzeigen aus dem Kontextmenü.
Ich habe oft eine kleine Menge Code in der Methode Application_Start ()
, aber wenn ich einen Breakpoint in eine Routine setze, kann er ignoriert werden!
- Schließen Sie das Entwicklungsgerät in der Taskleiste.
- Ändern Sie die Versionskonstruktion für ein einfacheres Debugging.
Eine einfache Form, um Application_Start ()
zu unterbrechen, besteht darin, dass Sie die Klasse System.Diagnostics.Debugger
verwenden. Sie werden wahrscheinlich eine Programmbeendigung erzwingen, indem Sie System.Diagnostics.Debugger.Where break()
so einstellen, dass der Debugger angehalten wurde.
Wie wird es normal Ich installiere globales ASAX?
Wie man global gibt. asax: Wählen Sie Website >> Neues Element hinzufügen (oder Projekt >> Neues Element hinzufügen, wenn Sie die Visual Studio-Domänenprojektvorlage verwenden) und wählen Sie die globale Anwendungsklassenvorlage aus. Nach dem Hinzufügen der bekannten globalen.
void Application_Start (EventArgs-Senderobjekt, e) System.Diagnostics.Debugger.Break ();
- Hängen Sie einen Debugger an den IIS-Prozess einer Person an.
- Öffnen Sie asax global.File während des Hinzufügens zum Einfügen eines Breakpoints.
- Fügen Sie der web.config Immobilien hinzu und registrieren Sie das Haus (dadurch wird die aktuelle Webanwendung zurückgesetzt);
- Aktualisieren Rufen Sie die Webseite der Website auf.
- schweizer Armbanduhren staunen, da der Debugger meist um einen Haltepunkt stoppt. 🙂
Application_Start()
wird für jede Anwendungsdomäne aufgerufen. Wenn Sie den Breakpoint nicht verschieben, ist die Anwendungsdomäne bereits konzipiert. Also mach das:
- Auf der Schnellstartleiste befindet sich ein VS-Webserver-Symbol (ein bestimmtes Symbol weist darauf hin, dass es sich um “Local Throw, Some Port” handelt). Klicken Sie mit der rechten Maustaste und wählen Sie Stopp oder Schließen. Dies sollte die AppDomain beenden.
- Wenn Sie IIS zweifellos verwenden, müssen Sie die Site manuell fortsetzen.
- Alternativ ist es normalerweise angebracht, die Web- oder Global.asax-Konfiguration zu ändern, um Ihren Computer von der Anwendungsdomäne neu zu starten.
- Starten Sie das Debuggen neu, es wäre ratsam, jetzt Breakpoints zu treffen.
Stellen Sie sicher, dass Ihre Anwendung im Debug-Modus ist (
in web.config).
Wenn Sie Started iis von VS Developer verwenden, starten Sie es sofort neu oder erstellen Sie Ihre aktuelle Anwendung neu.
- Da die Website so konfiguriert ist, dass sie mit dem Entwicklungsverzeichnis (in dem Ihr VS-Webprojekt bereitgestellt wird) arbeiten kann, müssen Sie nur die Anwendungspoolgruppe für diese Websites neu starten und mit dem Debuggen beginnen, bis die erste Anforderung die Server (Sie können normalerweise jeden Anwendungspool während des Debuggens neu starten).
- Damit die rrninternet-Site in einem anderen Ordner oder tatsächlich auf einem Remote-Server funktioniert, müssen Sie sie eingeben, wenn Sie normalerweise an dem Prozess teilnehmen möchten. Um dies zu tun, müssen Benutzer zusätzlich zum Festhalten von
Debug - Attach to process
den Computernamen eingeben und dann den zu debuggenden Prozess festlegen. Dies ist ausnahmslos w3wp a. Funktionierende exe im verwalteten Modus.
Aber zweitens können Sie alle Methoden, zB Session_Start
und vieles mehr, außer für Application_Start ()
, normal debuggen.
void Application_Start (Objektsender, EventArgs e) System.Diagnose.Debugger. Start();
, die normalerweise Ihren Code nicht beschädigen sollte und es ratsam wäre, den Debugger zu starten, wenn der Dienst mit mehreren Berechtigungen eingeführt wurde.
Entfernen Sie global.asax
und fügen Sie eine neue hinzu. Mein Clean war vor nicht allzu langer Zeit global.asax
und zusätzlich global.asax.cs
.
Alle Prozeduren ( Session_Start
, application_start
, …) sind in diesen Dateien enthalten, werden aber nur zusammen mit einem globalen angeboten. asax
werden fest berücksichtigt. Also machen die Damage Points und die Codierung in cs nichts anderes.
Erst nach dem Neuaufbau der global the.asax.cs
Datei passe ich die Methoden an und führe sie aus.
Können Sie global debuggen? ASAX?
Ja, es ist einfach. Application_Start() wird von IIS verarbeitet. Aber andere Methoden, zum Beispiel Session_Start, und auch alle anderen, außer Application_Start(), können manchmal besonders gut debuggt werden.
Erwarten Sie nicht, dass Application_Start() einen Anruf macht, wenn Sie sofort f5 drücken.Das als Application_Start () betrachtete Recht kann als erster Aufruf der Anwendung deklariert werden.Seltsam, aber wahr.
Wie verwende ich Global ASAX?
Erstellen Sie eine neue Webentwicklung mit Visual Studio (oder öffnen Sie ein vorhandenes Netzprojekt).Öffnen Sie die Datei Global. asax. cs weil im Stammordner Ihrer Anwendung.Legen Sie einen wichtigen Haltepunkt als Teil Ihrer Application_Start-Methode fest.Führen Sie das Formular im aktuellen Browser aus, indem Sie F5 drücken.
Wie mit Debug-Anwendung_ Starten?< /h2>Fügen Sie einen Debugger hinzu, der mit IIS umgehen kann.Global öffnen. Geben Sie das Asax-Signal und nehmen Sie einen funktionsfähigen Ruheplatz ein.Fügen Sie einem riesigen Raum Platz hinzu.Aktualisieren Gehen Sie zur Website-Webseite, um zu erfahren, wie die Website funktioniert.Boom Debugger stoppt Ihren Breakpoint.