Исключение хранилища таблиц Azure без использования трассировки стека - PullRequest
0 голосов
/ 06 октября 2011

Я получаю сообщение об ошибке типа System.Data.Services.Client.DataServiceClientException:

MESSAGE:
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
 <code>EntityAlreadyExists</code>
 <message xml:lang="en-US">The specified entity already exists.
RequestId:f1c45274-f149-463e-9815-f9ab9bb075f9
Time:2011-10-05T17:20:32.1930748Z</message>
</error>

STACKTRACE:
   at System.Data.Services.Client.DataServiceContext.SaveResult.<HandleBatchResponse>d__1e.MoveNext()

Моя проблема в том, что я не могу сказать, какая часть моего собственного кода спасает хранилище таблиц и вызывает ошибку.

Кто-нибудь знает, как я могу получить лучшую трассировку стека с помощью своего собственного кода?

1 Ответ

1 голос
/ 06 октября 2011

Полная информация о настройке диагностики Azure приведена здесь: http://msdn.microsoft.com/en-us/library/ff966484.aspx.

В общих чертах вам потребуется настроить приложение с прослушивателем трассировки Azure и изменить код запуска веб-роли / рабочей роли, чтобы скопировать эти сообщения в табличное хранилище. Ссылка дает шаблонный код.

Как только вы это сделаете, вы обнаружите, что любое необработанное исключение или что-либо еще, записанное в System.Diagnostics.Trace, появится в журналах хранения таблиц Azure.

Для чтения этих журналов я использую Cerebrata AzureDiagnosticsManager. Есть другие инструменты, которые будут делать это, включая (если вы действительно настаиваете!) Visual Studio.

...