私はASP.NET MVCサイトを持っています。サイトでエラーが発生した場合は、例外のログをRequest.AnonymousID
と一緒に記録して、1人のユーザーが20人のエラーを経験しているか20人のユーザーが同じエラーを経験しているかを確認できます。 Visual Studioで開発し、IIS Expressを使用している間意図したとおり、この作品、AnonymousIdは常にnullです。
<system.web>
<anonymousIdentification enabled="true" />
...
</system.web>
:次はweb.config
ファイルに追加されました。ただし、テスト環境(Windows Server 2012 R2上でIIS 8.5を実行する)にサイトを移動すると、Request.AnonymousID
の値は常にnullになります。
匿名認証も、IISのサイトに対して構成されています。設定が変更されるたびに、サイトを再起動し、アプリケーションプールをリサイクルし、ブラウザのクッキーを消去しようとします。何も動作していないようです。 .ASPXANONYMOUS
のCookieが生成されますが、IDをコード内で使用しようとすると、IDは常に空です。
私は、ページ上にAnonymousIdだけを表示するクイックダミーサイトを作成しようとしましたが、実際のサイトで何が間違っているのか分かりません。
ご協力いただければ幸いです。
編集1:再び
protected void AnonymousIdentification_Creating(object sender, AnonymousIdentificationEventArgs args)
{
string id = string.Format("Test-{0}", Guid.NewGuid());
args.AnonymousID = id;
}
、これは私のマシン上及び試験 - 上の私のダミーサイトで動作します: 私は、カスタムAnonymousIdを生成するために、Global.asax
に以下を追加しました実際のサイトには存在しません。
このサイトはサブサイト(例:mysite .domain.com)です。違いがあれば、ダミーサイトもサブサイトですが、ここでは匿名認証が「そのまま」機能しました。
編集2:AnonymousId
は、テスト環境でのサイト上で、もはやnullであるようです。これには、Global.asax
に追加されたイベントハンドラで提供されているフォーマットが入力されます。だから私はすべてを正しく設定したように見えますが、私はまだIdが生成されるのを防ぐことができたかどうか知りたいです。設定上の問題でしたか?私は正しい順序で(サーバー/アプリケーションプールのリサイクル、クッキーの消去など)何かをやっていませんでしたか?
両方の環境(dev&test)が同じホスト名を共有していますか? – haim770
@ haim770 dev-siteは私のマシン上で_localhost:61615_を通してアクセスされ、テストサイトは実際のホスト名を持っています。サイトがサブサイト(例:** mysite **。domain.com)であれば、それは違いがあります。 –