Можно ли использовать диагностику Azure, не находясь в размещенной службе

У меня есть несколько веб-ролей и рабочих ролей в моем решении, но у меня также есть приложение, отличное от Azure, работающее на виртуальной машине, размещенной в Azure. Это приложение подключается к хранилищу Azure для различных операций, таких как чтение и запись больших двоичных объектов и очередей, и это работает нормально.

Я хочу использовать диагностику Azure из того же приложения (приложение .NET, работающее на виртуальной машине, размещенной в Azure). Однако, если я пытаюсь инициализировать диагностику, я получаю исключение, которое:

System.InvalidOperationException: не выполняется в размещенной службе или в среде разработки.

Это имеет смысл, но мне интересно, можно ли каким-то образом использовать диагностику, не будучи размещенной службой. В частности, я использую лазурную диагностику для сбора информации журнала, записанной System.Diagnostics.Trace, и все это скрыто от кода приложения, поэтому, если бы у меня были какие-то другие API, у меня было бы место, которое я мог бы разместить в .

Есть идеи? Спасибо, Джей Си


person Jim Cassidy    schedule 16.11.2012    source источник
comment
Не совсем ответ, но... Будет ли временно работать обычная сборка журналов (Log4Net)? Абстрагируйте код так, чтобы для приложения, отличного от Windows, оно регистрировалось в файле/базе данных и т. д., а для Azure выполнялось диагностика. Возможно, в будущем они поддержат это, и ваш код будет готов к работе.   -  person Bart Czernicki    schedule 16.11.2012
comment
Вы можете добавить свой собственный прослушиватель трассировки, который записывает данные в хранилище таблиц, BLOB-объектов или даже в SQL Azure.   -  person David Steele    schedule 16.11.2012


Ответы (1)


К сожалению нет. По крайней мере, не сегодня. У агента есть некоторые жестко закодированные проверки для материала RoleEnvironment, и когда его нет, он терпит неудачу. Это также причина, по которой вы не можете использовать агент в материалах IaaS сегодня.

person dunnry    schedule 16.11.2012