2015-01-26 130 views
2

我有一個Windows Azure的網站(與ASP.NET網頁建),並在配置已啓用「應用診斷」兩個Blob存儲和文件存儲:啓用Azure的網站應用診斷

App Diagnostics

我已經加入了一些跟蹤語句到剃刀頁面來測試它

@{ 
    System.Diagnostics.Trace.TraceInformation("INFORMATION"); 
    System.Diagnostics.Trace.TraceWarning("WARNING"); 
    System.Diagnostics.Trace.TraceError("ERROR"); 
} 

然而,這會導致沒有日誌可言,無論是在文件系統或斑點。 爲了好的措施,我嘗試將各種設置添加到我的web.config文件中(如下所示),但從我看過的the documentation中,似乎並不認爲這是必要的。但它沒有區別 - 我仍然看不到文件系統或blob中的診斷日誌。

<system.web> 
    <compilation debug="true" targetFramework="4.5"> 
     <assemblies> 
     <add assembly="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     </assemblies> 
    </compilation> 
    <trace enabled="true"/> 
    <httpRuntime targetFramework="4.5" /> 
    </system.web> 
    <system.diagnostics> 
    <trace> 
     <listeners> 
     <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
    name="AzureDiagnostics"> 
     </add> 
     <add name="WebPageTraceListener" 
      type="System.Web.WebPageTraceListener, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 
     </listeners> 
    </trace> 
    </system.diagnostics> 

還有什麼我需要配置,我已經錯過了嗎?難道這對ASP.NET Web Pages項目根本不起作用嗎?

回答

4

爲了實現從剃刀頁面跟蹤以下內容添加到你的web.config: <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" compilerOptions="/define:TRACE" warningLevel="1" /> </compilers> </system.codedom>

來源:http://blogs.msdn.com/b/webdev/archive/2013/07/16/tracing-in-asp-net-mvc-razor-views.aspx

注意,從你的CS文件跟蹤應該沒有任何變化的網絡工作。配置。

+0

很好,完美的作品。我發現這也是App_Code文件夾中的cs文件所需要的。 – 2015-01-27 23:01:16