如何禁用 Glimpse,关闭 Glimpse.axd 和 defaultRuntimePolicy="Off" 的区别

How to disable Glimpse, the difference between turning Glimpse.axd off and defaultRuntimePolicy="Off"

有什么区别

1) 通过 web.config 的设置关闭 Glimpse:

<glimpse defaultRuntimePolicy="Off" endpointBaseUri="~/Glimpse.axd">

2) 通过 Glimpse.axd 关闭它

据我了解,1) 将关闭所有跟踪,而 2) 将停止 return 对特定浏览器会话的跟踪,但跟踪仍将在服务器上进行。据我了解,关闭 Glimpse 的唯一方法是使用 1).

我的理解正确吗?

谢谢

1 的情况下,GlimpseRuntime 将检测到它不应跟踪任何请求期间正在进行的操作。此值是 Glimpse Runtime Policy values 之一,其中 Off 是最受限制的一个。请记住,进行该检查仍然会有一些开销。如果你想把 Glimpse 完全排除在外,那么你必须确保你的 bin 文件夹中没有 Glimpse 相关的程序集,并且注册的 HttpModuleHttpHandler 从 config

2 的情况下,它还将阻止对 a 特定请求的任何跟踪,这与 的情况不同1 其中配置值适用于 all 请求。

让我澄清一下。 GlimpseRuntime 为每个请求确定一个特定的 RuntimePolicy 值,它基于 IRuntimePolicy 实现。 Glimpse 带有一些开箱即用的策略,一些决定是否跟踪请求或 return Glimpse 客户端作为响应的一部分。他们这样做是基于 returning 内容类型(例如,当请求图像时,您不希望 Glimpse 面板被 returned)、状态代码、使用的 uri ……以及其中一项政策是 ControlCookiePolicy,它有效地检查特定的 Glimpse cookie 是否是请求的一部分,如果不是这种情况,将完全禁用该特定请求的跟踪。当您转到 Glimpse.axd 页面并打开或关闭 Glimpse 时,您实际上是在创建或删除该 cookie。

所以在 1 的情况下根本不会进行任何跟踪,但是在 2 的情况下可以对请求 A 进行跟踪如果已设置 cookie,但如果 cookie 不再存在,则可以为请求 B 禁用。

可以忽略此 ControlCookiePolicy 并创建您自己的策略以确定是否应 returned 或跟踪 Glimpse Client,...