Scottgu刚刚宣布了2.0 SDK:http://weblogs.asp.net/scottgu/archive/2013/04/30/announcing-the-release-of-windows-azure-sdk-2-0-for-net.aspx
我尝试创建一个新的MVC4站点.将其添加到云项目中,并按预期包含以下诊断设置.
<system.diagnostics>
<trace>
<listeners>
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
name="AzureDiagnostics">
<filter type="" />
</add>
</listeners>
</trace>
</system.diagnostics>
Run Code Online (Sandbox Code Playgroud)
根据:https: //www.windowsazure.com/en-us/develop/net/common-tasks/diagnostics/ 默认情况下Windows Azure日志已启用
记录跟踪从代码发送到跟踪侦听器的消息(必须将跟踪侦听器添加到web.config或app.config文件中).日志数据将以定时传输传输时间间隔传输到存储表WADLogsTable.
diagnostic.wadcfg:
<?xml version="1.0" encoding="utf-8"?>
<DiagnosticMonitorConfiguration configurationChangePollInterval="PT1M" overallQuotaInMB="4096" xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
<DiagnosticInfrastructureLogs />
<Directories>
<IISLogs container="wad-iis-logfiles" />
<CrashDumps container="wad-crash-dumps" />
</Directories>
<Logs bufferQuotaInMB="1024" scheduledTransferPeriod="PT1M" scheduledTransferLogLevelFilter="Verbose" />
<WindowsEventLog bufferQuotaInMB="1024" scheduledTransferPeriod="PT1M" scheduledTransferLogLevelFilter="Error">
<DataSource name="Application!*" />
</WindowsEventLog>
</DiagnosticMonitorConfiguration>
Run Code Online (Sandbox Code Playgroud)
我在我的global.cs和webrole.cs启动方法中放置了一个Trace.TraceError,我只从global.cs中获取了一个.
我错过了什么或者它是否也适用于WebRole?
WebRole.cs运行的过程与应用程序本身不同,web.config并且不会影响它.
尝试Trace Listeners在代码中手动设置:
Trace.Listeners.Add(new Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener());
Run Code Online (Sandbox Code Playgroud)
或者使用此处的解决方案:
从RoleEntryPoint和您的网站读取配置文件: 尽管在Windows Azure应用程序中存储配置的首选方法是在ServiceConfiguration.cscfg文件中,但仍有许多情况下您可能希望使用普通的.NET配置文件 - 尤其是在配置.NET系统组件或可重用框架.特别是在使用Windows Azure诊断时,您需要在.NET配置文件中配置DiagnosticMonitorTraceListener.
创建Web角色项目时,Visual Studio会为.NET配置创建web.config文件.虽然您的Web应用程序可以访问此信息,但您的RoleEntryPoint代码不能 - 因为它不是作为您网站的一部分运行的.如前所述,它在名为WaIISHost.exe的进程下运行,因此它希望其配置位于名为WaIISHost.exe.config的文件中.因此,如果您在Web项目中创建具有此名称的文件并将"复制到输出目录"属性设置为"始终复制",您将发现RoleEntryPoint可以愉快地阅读此内容.这是我能想到的在同一个项目中你将拥有两个.NET配置文件的唯一情况之一!
| 归档时间: |
|
| 查看次数: |
1041 次 |
| 最近记录: |