我如何才能在 ASP.NET MVC 项目之外访问 Glimpse MessageBroker?

How can I have access to Glimpse MessageBroker outside of the ASP.NET MVC project?

我在 MVC5 项目中使用 Glimpse.Mvc5 (1.5.3),并且正在制作自定义选项卡。此选项卡需要将从另一个项目中记录的信息。
此项目不是 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" 看起来可能会在未来的版本中中断。

我也意识到这打破了抽象(我的另一个项目中出现了一个 WEB 工具),所以如果更好的答案不完全使用 MessageBroker 我觉得没问题。

目前,我建议使用您发现的已弃用的 GlimpseConfiguration.GetConfiguredMessageBroker() 技术。 (如果它对你有用。)

我们正在开发的新版 Glimpse 现在可以作为第一个 class 公民处理来自其他项目和流程的消息。准备好进行一些更改 if/when 你升级。