2016-02-09 9 views
7

私は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が生成されるのを防ぐことができたかどうか知りたいです。設定上の問題でしたか?私は正しい順序で(サーバー/アプリケーションプールのリサイクル、クッキーの消去など)何かをやっていませんでしたか?

+0

両方の環境(dev&test)が同じホスト名を共有していますか? – haim770

+0

@ haim770 dev-siteは私のマシン上で_localhost:61615_を通してアクセスされ、テストサイトは実際のホスト名を持っています。サイトがサブサイト(例:** mysite **。domain.com)であれば、それは違いがあります。 –

答えて

1

これは動作するはずです。ホスト名とASPXANONYMOUSクッキーとの間には相関関係がありません

IISに匿名認証モジュールがインストールされていて、何が設定されているかを確認してください。私はこのモジュールがインストールされていないインスタンスを見てきました。

+0

匿名認証モジュールは、IISマネージャのサイトの「モジュール」にあります。これはIISの他の場所で設定上の問題になる可能性がありますか? –

+0

はい。 IIS構成は、いくつかのレベルで上書きできます。設定がどこに変更されたかを確認する必要があります –

関連する問題