完全关闭Glimpse

时间:2015-02-23 21:34:42

标签: glimpse

我感兴趣的是能够以我能管理的最轻的方式完全打开 。在瞥见文件和对这个问题的回答之间How to disable Glimpse, the difference between turning Glimpse.axd off and defaultRuntimePolicy="Off"最强的"关闭"我能看到的功能是在web.config文件中将defaultRuntimePolicy设置为off。

但是,如调试器所示,这仍然会在我的进程中加载​​一些瞥见程序集 - 这个问题的答案Why is Glimpse still running?阐明了原因。

所以我一直在做的是保留一个GlimpseOff搁置集,在我的web.config文件中注释掉一瞥配置,并在我的.csproj文件中注释掉引用。当我真正需要瞥见时,应用它。这很有效,而且我很确定它确实可以完全解决所有问题,但这非常麻烦。

我考虑过的替代方案是:(a)当我需要将其关闭时移除一瞥nuget pacakges,这比我目前的解决方案更加麻烦或(b)在visual studio中创建新的构建配置不包含glimpse模块并预先形成web.config转换以删除配置。

这些似乎都不是最佳选择。任何人都有更好/更清洁/更容易的方法吗?

1 个答案:

答案 0 :(得分:4)

您可以使用XML转换删除Release模式/生产中的Glimpse条目。

将这些条目添加到web.release.config

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">

  <configSections>
    <section name="glimpse" xdt:Transform="Remove" />
  </configSections>

  <glimpse xdt:Transform="Remove"/>

  <system.web>
    <httpModules>
      <add name="Glimpse" xdt:Transform="Remove"/>
    </httpModules>
    <httpHandlers>
      <add path="glimpse.axd" xdt:Transform="Remove" />
    </httpHandlers>
  </system.web>

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="Glimpse" xdt:Transform="Remove" />
    </modules>
    <handlers>
      <add name="Glimpse" xdt:Transform="Remove" />
    </handlers>
  </system.webServer>

</configuration>

如果您愿意,可以输入此转换,并将web.config输入Web Config Transform Tester,以确保它适用于您的应用。