我感兴趣的是能够以我能管理的最轻的方式完全打开 。在瞥见文件和对这个问题的回答之间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转换以删除配置。
这些似乎都不是最佳选择。任何人都有更好/更清洁/更容易的方法吗?
答案 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,以确保它适用于您的应用。