Lar*_*sen 7 c# iis asp.net-mvc
我有一个ASP.NET MVC站点.当网站上发生错误时,我想记录异常以及值Request.AnonymousID,以便能够发现一个用户是否遇到20个错误,或者20个用户遇到相同的错误.以下内容已添加到web.config文件中:
<system.web>
<anonymousIdentification enabled="true" />
...
</system.web>
Run Code Online (Sandbox Code Playgroud)
在Visual Studio中开发并使用IIS Express时,这可以按预期工作.但是,当站点移动到测试环境(在Windows Server 2012 R2上运行IIS 8.5)时,值Request.AnonymousID始终为null.
还为IIS中的站点配置了匿名身份验证.在每次配置更改后,我尝试重新启动站点,回收应用程序池,并在浏览器中清除cookie - 似乎没有任何效果.该.ASPXANONYMOUSCookie会产生,但该ID始终是空的,当我尝试在代码中使用它.
我甚至尝试创建一个只在页面上显示AnonymousId的快速虚拟站点,它在Test环境中工作,所以我无法弄清楚我在实际站点中做错了什么.
任何帮助将不胜感激.
Global.asax,以生成自定义AnonymousId:
protected void AnonymousIdentification_Creating(object sender, AnonymousIdentificationEventArgs args)
{
string id = string.Format("Test-{0}", Guid.NewGuid());
args.AnonymousID = id;
}
Run Code Online (Sandbox Code Playgroud)
同样,这适用于我的机器和测试服务器上的虚拟站点,但不适用于实际站点.
该网站是一个子网站(例如mysite .domain.com),如果这有任何区别.虚拟站点也是一个子站点,但匿名身份验证在这里"开箱即用".
编辑2:AnonymousId测试环境中的网站似乎不再为空.它现在填充了添加到的事件处理程序中提供的格式Global.asax.因此,虽然看起来我已经正确设置了所有内容,但我仍然想知道可能阻止生成Id的原因.这是配置问题吗?我没有按正确的顺序做事(重启服务器/回收应用程序池,清除cookie等)?
| 归档时间: |
|
| 查看次数: |
698 次 |
| 最近记录: |