2012-02-16 27 views
0

我們正在C#中開發幾個基於Azure的應用程序,並試圖在實用程序庫中集中一些常見代碼。其中一個常見功能是診斷監視設置。獨立程序集中的Azure診斷配置

我們創建了一個類,簡化診斷集合的配置,日誌傳送等

我們所面臨的主要問題是,當我們運行的代碼,而類生活在不同的裝配從WebRole或WorkerRole,從不收集診斷信息並將其傳輸到天藍色表格存儲。如果我們將該類移到與Web/Worker角色相同的項目中,那麼一切都按預期工作。

有沒有什麼是DiagnosticMonitor.GetDefaultInitialConfiguration();或者DiagnosticMonitor.Start(StorageConnectionStringKey,_diagConfig);不喜歡在另一個組裝中?我很難過!

任何有識之士將不勝感激。

謝謝, 馬特

回答

0

哪一部分無法在這裏工作?跟蹤日誌沒有被傳送?這似乎是大多數人遇到的問題。

我們做類似的事情,沒有問題。通常當你沒有看到東西被轉移時,這是因爲偵聽器得到配置的當前進程並不總是與發生跟蹤的地方相同(特別是在動態添加到跟蹤偵聽器集合時)。值得注意的是,許多用戶在Windows Azure中的web應用程序中發現了這個問題。

你期望看到什麼轉移? Perf計數器?痕跡?事件日誌?等等。

+0

我們實際上正在設置跟蹤,性能計數器和事件日誌。他們似乎都沒有工作。實際上,我們重構了代碼,將「DefaultInitialConfiguration」作爲構造函數的依賴關係,並從OnStart(而不是庫)開始調用DiagnosticMonitor.Start,其他所有事情都開始工作。 – 2012-02-29 14:59:07