我喜欢瞥见,但只有当我'对它有什么要告诉我感兴趣。我有一个可以打开和关闭的角色,可以瞥见(见下面的代码),但我真正想要的是能够在我的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>
答案 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
方法中放置一个断点来检查是否实际进行了呼叫以及结果是什么。