瞥见如何在不禁用的情况下关闭它?

时间:2014-06-12 14:28:07

标签: asp.net glimpse

我喜欢瞥见,但只有当我'对它有什么要告诉我感兴趣。我有一个可以打开和关闭的角色,可以瞥见(见下面的代码),但我真正想要的是能够在我的global.asax中启用它时打开和关闭它。我已经尝试访问site.com/glimpse.axd并设置"转过一瞥"但随后在下一页刷新它又回来了。

我错过了什么?

public class GlimpseSecurityPolicy : IRuntimePolicy
{
    public RuntimePolicy Execute(IRuntimePolicyContext policyContext)
    {
        var httpContext = policyContext.GetHttpContext();
        if (!httpContext.User.IsInRole("GlimpseUser"))
        {
            return RuntimePolicy.Off;
        }
        return RuntimePolicy.On;
    }

    public RuntimeEvent ExecuteOn
    {
        get { return RuntimeEvent.EndRequest; }
    }
}

在我的网站中.Config:

<glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd">
<runtimePolicies>
  <ignoredTypes>
    <add type="Glimpse.AspNet.Policy.LocalPolicy, Glimpse.AspNet" />
    <add type="Glimpse.Core.Policy.ControlCookiePolicy, Glimpse.Core" />
  </ignoredTypes>
</runtimePolicies>

1 个答案:

答案 0 :(得分:1)

好的,之所以点击&#34;关闭一瞥&#34;按钮无效是因为在配置中禁用了ControlCookiePolicy,因此单击该按钮将无效。

因此,您需要从配置中删除该条目以使其再次起作用:

<add type="Glimpse.Core.Policy.ControlCookiePolicy, Glimpse.Core" />

当你说那个

  
    

其他代码公共类GlimpseSecurityPolicy&#34;在我的global.asax

中   

你的意思是GlimpseSecurityPolicy基本上被定义为Mvc Application类的内部类?

如果您要在配置

中启用Glimpse的日志记录,无论哪种方式
<glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd">
    <logging level="Trace" />
    <runtimePolicies>
    <ignoredTypes>
        <add type="Glimpse.AspNet.Policy.LocalPolicy, Glimpse.AspNet" />
    </ignoredTypes>
  </runtimePolicies>
</glimpse>

然后你会看到一个glimpse.log文件出现在你的web应用程序的根目录中,一旦启动了应用程序,你应该看到这样一个条目:

  
    

2014-06-13 09:48:25.8498 |调试|发现了类型为'NAMESPACE + GlimpseSecurityPolicy&#39;的IRuntimePolicy并将其添加到集合中。 |

  

如果是这种情况,则实际发现该策略。 您可以在Execute方法中放置一个断点来检查是否实际进行了呼叫以及结果是什么。