gpt4 book ai didi

c# - AnonymousId 始终为空

转载 作者:太空狗 更新时间:2023-10-29 20:38:48 27 4
gpt4 key购买 nike

我有一个 ASP.NET MVC 站点。当网站上出现错误时,我想记录异常以及 Request.AnonymousID 的值,以便能够发现是一个用户遇到 20 个错误,还是 20 个用户遇到相同的错误. web.config 文件中添加了以下内容:

<system.web>
<anonymousIdentification enabled="true" />
...
</system.web>

在 Visual Studio 中开发并使用 IIS Express 时,这按预期工作。但是,当站点移动到测试环境(在 Windows Server 2012 R2 上运行 IIS 8.5)时,Request.AnonymousID 的值始终为 null。

匿名身份验证也已在 IIS 中为站点配置。每次更改配置后,我都会尝试重新启动站点、回收应用程序池并清除浏览器中的 cookie——似乎没有任何效果。 .ASPXANONYMOUS cookie 已生成,但当我尝试在代码中使用它时 ID 始终为空。

我什至尝试创建一个仅在页面上显示 AnonymousId 的快速虚拟站点,并且它可以在测试环境中运行,所以我无法弄清楚我在实际站点中做错了什么。

如有任何帮助,我们将不胜感激。


编辑 1:我已将以下内容添加到 Global.asax,以生成自定义 AnonymousId:

protected void AnonymousIdentification_Creating(object sender, AnonymousIdentificationEventArgs args)
{
string id = string.Format("Test-{0}", Guid.NewGuid());
args.AnonymousID = id;
}

同样,这适用于我的机器和测试服务器上的虚拟站点,但不适用于实际站点。

该站点是一个子站点(例如 mysite.domain.com),如果有任何区别的话。虚拟站点也是一个子站点,但匿名身份验证在这里“开箱即用”。


编辑 2: 似乎 AnonymousId 在测试环境中的网站上不再为空。它现在填充了添加到 Global.asax 的事件处理程序中提供的格式。因此,虽然看起来我已经正确设置了所有内容,但我仍然想知道是什么阻止了生成 Id。是配置问题吗?我是否没有按照正确的顺序执行操作(重启服务器/回收应用程序池、清除 cookie 等)?

最佳答案

这应该有效。主机名和 ASPXANONYMOUS cookie 之间没有关联

检查 IIS 上是否安装了匿名身份验证模块及其设置。我见过未安装此模块的实例。

关于c# - AnonymousId 始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35286498/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com