Frage

Ich füge eine ASP.NET -Website nachverfolgten Funktionen hinzu, also habe ich mich entschlossen, zu untersuchen Tracesource durch Erstellen einiger Prototypen; Ein Webantragsprojekt und ein Website -Projekt.

Ich verwende ähnliche Web.config für jedes Projekt, um Spuren für das Windows -Ereignisprotokoll zu protokollieren:

<configuration>
    <system.web>
        <compilation debug="true" strict="false" explicit="true" targetFramework="4.0"/>
    </system.web>    
    <system.diagnostics>
        <trace autoflush="true" />
        <sources>
            <source name="HelloWorld">
                <listeners>
                    <add name="eventlogListener" />
                </listeners>
            </source>
        </sources>    
        <sharedListeners>
            <add name="eventlogListener" type="System.Diagnostics.EventLogTraceListener" initializeData="My Source" />
        </sharedListeners>
    </system.diagnostics>
</configuration>

Ich beginne einfach mit der folgenden Grundverfolgung:

private static TraceSource _ts = new TraceSource("HelloWorld", SourceLevels.All);

protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);

    _ts.TraceEvent(TraceEventType.Information, 10, "Greetings from OnLoad.");
}

Mit dem Web -Anwendungsprojekt kann ich die im Ereignisprotokoll erstellte Trace sehen. Mit dem Website -Projekt kann ich jedoch nicht.

Sind zusätzliche Schritte (z. B. Web.Config -Einstellungen, Berechtigungen usw.) bei den Website -Projekten erforderlich, um Spurenource zu verwenden?

War es hilfreich?

Lösung 2

Nach einigen Versuch und Irrtum ist im web.config anscheinend das System.

Andere Tipps

Der Grund dafür ist, dass die Trace -Methoden nur von .NET zusammengestellt werden, wenn die Spurenkonstante als Teil des Kompilierung definiert wird. In einem Website -Projekt können die Compiler -Konfiguration in Ihre Web.config -Datei wie folgt einbezogen werden:

  <system.codedom>
    <compilers>
      <compiler
         language="c#;cs;csharp"
         extension=".cs"
         type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.50727.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
         compilerOptions="/d:TRACE"
         warningLevel="1" />
    </compilers>
  </system.codedom>

Beachten Sie die Option "/d: Trace" -Kompiler, mit der die Trace -Konstante beim Kompilieren Ihres Codes (C# in diesem Beispiel) ermöglicht wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top