IIS 6 上の ASP.NET 3.5 Webforms アプリという非常に奇妙な問題があります。
その結果、ユーザーはサイトに接続し、ASP.NET セッションを取得し、何らかのデータを入力すると、突然、入力された (そしてセッションに保存された) すべてのデータが失われます。
エラー ログによると、何らかの奇妙な理由で、彼はアプリで作業している最中に新しいセッションを開始しただけです。
IIS ログから、1 回の ASP.NET リクエスト内で、ユーザーのブラウザから報告されたユーザー エージェントが - から .... に切り替わるMSIE+7.0
ことMSIE+8.0
がわかります。
ログからの抜粋:
07:06:38 GET /SomePage.aspx 80 - x.x.x.139 Mozilla/4.0+ (compatible;+MSIE+7.0;+Windows+NT+5.1) 401
07:06:38 GET /SomePage.aspx 80 DOMAIN\USERNAME x.x.x.139 Mozilla/4.0+ (compatible;+MSIE+7.0;+Windows+NT+5.1) 200
07:06:39 GET /javascript/somefile.js 80 DOMAIN\USERNAME x.x.x.139 Mozilla/4.0+ (compatible;+MSIE+8.0;+Windows+NT+5.1) 200
(lots more requests for .css, .js, .gif, .jpg - all with MSIE+8.0 ....)
ページへの 2 つのリクエストはモードで.aspx
行われたようMSIE+7.0
ですが、その後の CSS と JS ファイル、および GIF と JPG グラフィックスへのリクエストはMSIE+8.0
... WTF?!?!?を返します。
それが本当に ASP.NET セッションの突然の損失の根本的な原因であるかどうかはわかりませんが、そのユーザー エージェントの切り替え自体が頭を悩ませています.... 何かアイデアはありますか?
この動作がこれらの「失われたセッション」の根本的な原因ではない場合、何が原因である可能性があるかについてのアイデア/リードはありますか? これまでのところ、Bing、Google、またはその他のソースから、過度に有用なものを掘り出すことができませんでした....
更新:このフォーラム スレッドで、ユーザー エージェントが最初のGET
(ページを取得する)リクエストと.aspx
その後の. これが ASP.NET にも当てはまるかどうか、誰でも確認できますか? (または、このステートメントが真実ではないことを示します)GET
.css
.js
これが本当に当てはまる場合、ユーザー エージェント文字列が以前の要求と一致しないという理由だけで、新しいセッションを開始しないように ASP.NET に指示する方法はありますか?