想知道您是否有任何关于以下问题的想法。从Dynamics CRM 2011插件调用System.Diagnostics.Trace
这是一些超级简单的插件代码。
namespace Demo.DebugTraceBlog
{
public class TraceAndDebugDemo : IPlugin
{
public void Execute(IServiceProvider serviceProvider)
{
Trace.WriteLine("Started Plugin");
Trace.WriteLine("Plugin Working");
Trace.WriteLine("Ending Plugin");
}
}
}
我使用DebugView(http://goo.gl/YRfus)查看正在写入的跟踪消息。当我将这段代码作为沙盒中运行的插件执行时,我得到了我期望的结果:DebugView中出现三行,如果将VS附加到Sandbox工作进程,则会看到三行写入输出窗口。现在,当我将隔离模式更改为无,并让它在W3WP.EXE过程中运行时,我没有得到任何输出到DebugView,并且当我附加到W3WP.EXE时,我可以设置一个断点来验证它正在运行,但是我不得到任何输出到输出窗口。
任何想法为什么会发生这种情况,以及我如何能够覆盖原因并强制非沙箱执行按预期工作。我可以猜想它与运行在CRM IIS流程内部有关,并且CRM正在抑制跟踪编写 - 我专门使用了Trace而不是Debug来试图避免这个问题,但没有运气。
我知道我可以使用ITracingService,但那不符合我目前的要求。
内部部署还是在线?不知道它是否重要,但很好知道。 –
本地同步。在线只能在沙箱中运行,并且沙盒中的跟踪工作得很好。 – Nicknow
我得到了杰克...对不起。我有一杆,但我意识到那不是。 –