System.Net (HttpWebRequest) - Ablaufverfolgung ohne Verwendung von Dateien oder der app.config?

Ich will bestimmte, aber nicht alle, HttpWebRequest-Verkehr in meiner Anwendung für debugging-Zwecke. Es ist ein web-Dienst von IIS gehostet wird.

Habe ich gelesen,Gewusst wie: Konfigurieren der Netzwerk-Ablaufverfolgung. Dies funktioniert gut, aber ich möchte nicht direkt die Ablaufverfolgung in einer Datei wegen möglicher Probleme mit den Zugriffsrechten auf die Datei system, Sensibilität der Daten, etc. Ich würde gerne erfassen direkt zu einem etwas Speicher, kann ich anschließend zu prüfen bzw. prüfen zu verschlüsseln und E-Mail. Vorzugsweise würde dies nicht bedeuten, änderungen an der app.config-Datei.

Ich habe Folgendes versucht, aber ich bin natürlich fehlt ein Schritt zum binden der TextWriterTraceListener in System.Net. Wie kann ich erfassen die System.Net Verkehr in meine StringWriter?

StringWriter sw = new StringWriter();
TextWriterTraceListener myListener = new TextWriterTraceListener(sw);
Trace.Listeners.Add(myListener);
HttpWebRequest req = (HttpWebRequest) WebRequest.Create("http://www.microsoft.com");
HttpWebResponse resp = (HttpWebResponse) req.GetResponse();
Stream s = resp.GetResponseStream();

byte[] buf = new byte[4096];
while (s.Read(buf, 0, buf.Length) > 0) ;
s.Close();

myListener.Flush();
sw.Flush();

Edit: genauer gesagt, ich will den Gegenwert dafür zur Laufzeit, außer, dass ich nicht wollen, Ausgang zu gehen, sich zu vernetzen.melden Sie, ich will es zu gehen, um einen string-Puffer habe ich für diesen Zweck eingestellt.

<configuration>

<system.diagnostics>

<sources>
  <source name="System.Net.Sockets" tracemode="includehex">
    <listeners>
      <add name="System.Net.Sockets" type="System.Diagnostics.TextWriterTraceListener" initializeData="network.log" />
    </listeners>
  </source>
</sources>

<switches>
  <add name="System.Net.Sockets" value="Verbose"/>
</switches>

<trace autoflush="true" />
</system.diagnostics>
</configuration>
vbcity.com/forums/topic.asp?tid=140182 ist zu Fragen, für die gleiche Sache. Microsoft ' s Antwort ist sicherlich entmutigend.

InformationsquelleAutor David Chappelle | 2009-06-26

Schreibe einen Kommentar