Как я могу получить доступ к Glimpse MessageBroker за пределами проекта ASP.NET MVC?

Я использую Glimpse.Mvc5 (1.5.3) в проекте MVC5 и создаю пользовательскую вкладку. Для этой вкладки требуется информация, которая будет регистрироваться внутри другого проекта.
Этот проект не является MVC, и на него ссылается мой проект MVC.

Мне удалось получить MessageBroker двумя способами, но я не думаю, что ни один из них не идеален:

GetConfiguredMessageBroker

IMessageBroker broker = GlimpseConfiguration.GetConfiguredMessageBroker();

Я впервые попробовал это с успехом, но метод помечен как устаревший, так что ничего страшного

Автор: GlimpseRuntime

GlimpseRuntime glimpseRuntime = HttpContext.Current.Application.Get("__GlimpseRuntime") as GlimpseRuntime;
IMessageBroker broker = glimpseRuntime.Configuration.MessageBroker;

Затем я попробовал это, тоже с успехом, но меня беспокоили две вещи: мне пришлось добавить ссылку на System.Web (для HttpContext), что действительно неуместно в моем проекте.
Использование "__GlimpseRuntime" похоже на то, что могло бы перерыв в будущих выпусках.

Я также понимаю, что это нарушает абстракцию (веб-инструмент появляется в моем другом проекте), поэтому, если лучший ответ не использует MessageBroker вообще, меня это устраивает.


person Mahmoud Ali    schedule 01.08.2015    source источник


Ответы (1)


На данный момент я бы рекомендовал использовать устаревший метод GlimpseConfiguration.GetConfiguredMessageBroker(), который вы нашли. (Если это работает для вас.)

Новая версия Glimpse, над которой мы работаем, теперь обрабатывает сообщения из других проектов и процессов как первоклассный гражданин. Просто будьте готовы внести некоторые изменения, если / когда вы обновитесь.

person nikmd23    schedule 03.08.2015
comment
Просто чтобы прояснить, прежде чем я приму ответ, это единственные два обходных пути, доступных прямо сейчас? - person Mahmoud Ali; 03.08.2015
comment
Если вы используете настроенную версию Glimpse, да. - person nikmd23; 04.08.2015
comment
@ nikmd23 У меня та же проблема, так как я могу посмотреть, когда это появится в новом Glimpse? Знаете ли вы, в какой версии он появится, или какие-либо имена API и т. д., за которыми я могу следить? - person NickG; 01.09.2015
comment
Я бы порекомендовал либо мой аккаунт Twitter, либо Обзор блога. - person nikmd23; 02.09.2015