当我使用
时Diagnostics.Trace.WriteLine("message", "Information");
在我的azure-asp.net中,这不会出现在我的天蓝色计算模拟器中, 但是,如果我从我的工作角色那里做同样的事情,那么有什么想法吗?
谢谢!
答案 0 :(得分:4)
这是SDK 1.3,对吗?在1.3中,默认情况下Web角色使用完整IIS运行,这意味着您的实际Web应用程序代码与RoleEntryPoint位于不同的应用程序域中。我相信计算模拟器只显示来自RoleEntryPoint(WebRole.cs或WorkerRole.cs)的消息。
要仔细检查,请尝试在WebRole.cs中的OnStart中添加跟踪消息;我猜它会出现。
答案 1 :(得分:2)
添加类型为:
的TraceListenerMicrosoft.ServiceHosting.Tools.DevelopmentFabric.Runtime.DevelopmentFabricTraceListener,
Microsoft.ServiceHosting.Tools.DevelopmentFabric.Runtime,
Version=1.0.0.0,
Culture=neutral,
PublicKeyToken=31bf3856ad364e35
原因是由于在ASP.NET应用程序的AppDomain中没有此TraceListener - 这与WebRole.cs运行的位置不同。随着完整IIS的引入,v1.3中的所有内容都发生了变化。
http://blog.bareweb.eu/2011/01/tracing-to-azure-compute-emulator-sdk-v1-3/
答案 2 :(得分:0)
使用指定的消息将信息性消息写入Listeners集合中的跟踪侦听器。