Семантическая регистрация (SLAB) для веб-приложения MVC Azure

Пытаюсь внедрить SLAB для моего веб-приложения Azure (в процессе), и моим списком является хранилище таблиц Azure (строка соединения таблицы), проблема, с которой я сталкиваюсь, - "EventSource.IsEnabled() = всегда возвращает false" (запускаю приложение из VS2013 с IIS express)

мой код

---- global.asax

var listener2 = new ObservableEventListener();
listener2.EnableEvents(SBEvents.Log, EventLevel.Verbose,Keywords.All);
listener2.LogToWindowsAzureTable(“sdf”, “DefaultEndpointsProtocol=https;AccountName=********;AccountKey=****************);

———- Источник события

Public class SBEvents :EventSource {
public class keywords{...}
public class Tasks {..}

private static readonly Lazy Instance = new Lazy(() => new SBEvents());
public static SBEvents Log { get { return Instance.Value; } }

[Event(102, Message = “Bike started with Bike ID :{0}”, Keywords =    Keywords.Application, Level = EventLevel.Informational)]
public void BikeStarted(String BikeID){
if (this.IsEnabled()) //// = always returns false
this.WriteEvent(102,BikeID);

1 ответ

Похоже, "Веб-приложения Azure" не могут прослушивать события ETW.

https://azure.microsoft.com/en-in/documentation/articles/choose-web-site-cloud-service-vm/

Области диагностики и отслеживания, которые недоступны веб-приложениям в Azure, - это события Windows ETW и общие журналы событий Windows (например, журналы событий системы, приложения и безопасности). Поскольку информация трассировки ETW потенциально может быть доступна для просмотра на всей машине (с правильными списками ACL), доступ для чтения и записи к событиям ETW блокируется. Разработчики могут заметить, что вызовы API для чтения и записи событий ETW и общих журналов событий Windows, похоже, работают, но это потому, что WEB Apps "подделывает" вызовы, чтобы они казались успешными. На самом деле код веб-приложения не имеет доступа к данным этого события.

Спасибо

Другие вопросы по тегам