2012-11-16 21 views
2

我的解決方案中有幾個Web和輔助角色,但我也有一個在Azure託管虛擬機上運行的非Azure應用程序。該應用程序連接到Azure存儲,用於讀取和寫入blob和隊列等各種內容,並且工作正常。是否可以在不使用託管服務的情況下使用Azure診斷

我想從同一應用程序(在Azure託管的虛擬機上運行的.NET應用程序)中使用Azure診斷程序。但是,如果嘗試初始化診斷,我會得到一個異常:

System.InvalidOperationException:未在託管服務或開發結構中運行。

這是有道理的,但我想知道是否有可能以某種方式使用診斷而不用託管服務。特別是,我使用天藍色診斷來收集由System.Diagnostics.Trace寫出的日誌信息,這些都隱藏在應用程序代碼之外,所以如果有其他一些API,我可以插入一個地方。

任何想法? 謝謝, JC

+0

不是一個真正的答案,但是......常規日誌程序集(Log4Net)會暫時工作嗎?將代碼抽象出來,對於非Windows應用程序,它會記錄到文件/ db等,對於Azure,它會執行診斷。也許將來他們會支持這一點,你的代碼將準備好去。 –

+0

您可以添加自己的跟蹤偵聽器,它可以寫入表存儲,blob存儲或SQL Azure。 –

回答

2

不幸的是,沒有。至少不是今天。代理對RoleEnvironment有一些硬編碼的檢查,當它不在時,它會失敗。這也是您今天無法在IaaS內使用代理的原因。

相關問題