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

时间:2015-08-01 03:43:26

标签: asp.net-mvc asp.net-mvc-5 glimpse

我在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,我就可以了。

1 个答案:

答案 0 :(得分:1)

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

我们正在开发的新版Glimpse现在处理来自其他项目和流程的消息,作为一等公民。只要准备好在升级时进行一些更改。