Fragen, wenn einer von Ihnen irgendwelche Ideen über das folgende Problem habe, das ich renne.Aufruf von System.Diagnostics.Trace von einem Dynamics CRM 2011-Plugin
Hier ist ein paar sehr einfache Plug-in-Code.
namespace Demo.DebugTraceBlog
{
public class TraceAndDebugDemo : IPlugin
{
public void Execute(IServiceProvider serviceProvider)
{
Trace.WriteLine("Started Plugin");
Trace.WriteLine("Plugin Working");
Trace.WriteLine("Ending Plugin");
}
}
}
Ich bin mit Debugview (http://goo.gl/YRfus), um die Trace-Nachrichten anzuzeigen geschrieben werden. Wenn ich diesen Code als ein Plug-in ausführe, das in der Sandbox läuft, bekomme ich die erwarteten Ergebnisse: drei Zeilen erscheinen in DebugView und wenn ich VS an den Sandbox-Worker-Prozess anschließe, sehe ich drei Zeilen in das Ausgabefenster geschrieben. Wenn ich jetzt den Isolationsmodus auf none ändere und ihn im W3WP.EXE-Prozess laufen lasse, bekomme ich keine Ausgabe an DebugView, und wenn ich an W3WP.EXE anhefte, kann ich einen Haltepunkt setzen, um zu bestätigen, dass er läuft, aber ich nicht Ausgabe in das Ausgabefenster bringen
Jede Idee, warum dies auftritt und wie kann ich über die Ursache übergehen und erzwingen, dass die Ausführung nicht Sandbox wie erwartet funktioniert. Ich kann ein paar Vermutungen darüber machen, dass es innerhalb der CRM-IIS-Prozesse läuft und dass CRM das Trace-Schreiben unterdrückt - ich habe speziell Trace anstelle von Debug verwendet, um das Problem zu vermeiden, aber kein Glück.
Ich weiß, dass ich den ITracingService verwenden kann, aber das entspricht nicht meiner aktuellen Anforderung.
On-Premise oder online? Nicht sicher, ob es wichtig ist, aber es ist gut zu wissen. –
On-Premises synchron. On-line kann nur in der Sandbox ausgeführt werden und Trace funktioniert in der Sandbox einwandfrei. – Nicknow
Ich habe Jack ... Entschuldigung. Ich hatte eine Chance, aber mir wurde klar, dass es nicht so ist. –