- PR -

システム日付を変更するとセッションがクリアされる

1
投稿者投稿内容
ボブ
会議室デビュー日: 2004/01/22
投稿数: 17
投稿日時: 2004-10-21 14:28
お世話になります。

WINDOWS 2000 PRO + C#.NETでWeb開発を行っています。

ブラウザを立ち上げて「日付と時刻のプロパティ」でシステム日付を変更するとセッション(Sessionオブジェクト)に格納していた値が、クリアされてしまう時があります。

因みに、客先のWINDOWS 2000 Serverでも、この様な現象が起きると聞いています。また、「日付と時間のプロパティ」で変更ではなく、AM0:00になるとクリアされる現象も1度ですが体験しました。

この現象についてご存知の方、または、回避方法をご存知の方がおられましたら教えてください。

何卒宜しくお願い致します。

Ten.
ベテラン
会議室デビュー日: 2003/04/03
投稿数: 67
投稿日時: 2004-10-22 10:41
既定だとセッションはクッキーによって管理されているので、クライアントのシステム日付を変更したことによってクッキーが期限切れになってしまっているのではないでしょうか?
ボブ
会議室デビュー日: 2004/01/22
投稿数: 17
投稿日時: 2004-10-23 00:36
Ten.さん、ご返答有難うございます。

返信が遅れてすみません。

私の書き方まずかったですね。すみませんでした。
クライアントのシステム日付ではなく、
サーバーのシステム日付を変更すると現象が起こります。

因みに、クライアントの日付を変更しても、
セッションがクリアされることはありませんでした。

自分が勉強不足だと思うのですが、やはり原因らしきことが未だ思いつきません・・・

何卒宜しくお願い致します。
nodera
大ベテラン
会議室デビュー日: 2003/09/08
投稿数: 200
投稿日時: 2004-10-25 10:06
こんにちは。

セッションを管理しているのはサーバー側で、通常セッションはある一定の時間(設定による)が経過するまで、クライアントからの要求が無いと自動的に削除されます(セッションタイムアウト)。

サーバー側のシステム日付を変更することにより、セッションタイムアウトの範囲を超えてしまったのではないでしょうか?それとも設定の範囲内で変更しても当現象が発生するということでしょうか?

あと気になるのですが、サーバーのシステム日付を変更するような運用ってどのような場合なんでしょうか。客先でもってことは通常運用の範疇にそのような操作があるってことですよね。なんの為にシステム日付を変更する必要があるのか、想像がつかないのですが。。。
ボブ
会議室デビュー日: 2004/01/22
投稿数: 17
投稿日時: 2004-10-26 09:31
noderaさん、こんにちは。

ご返答有難うございます。

"設定の範囲内"とはtimeoutのことですよね?
もしそうなら、web.configのtimeout="20"で設定している範囲内でも現象がおこります。
見当違いのことを言っていたらすみません。

サーバーでシステム日付を変更する運用は実際にはありませんが、
操作途中で、AM0:00を過ぎると突然セッションタイムアウトになることが問題です。
システム日付を変更したのは、現象確認する為です。

もしかしたら、手動でシステム日付を変更することと自然にAM0:00を過ぎることは
現象が同じでも、原因が違うんですかね…。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-10-26 13:41
零時にアンチウイルスとかバックアップツールが走るようになっていませんか?

http://support.microsoft.com/default.aspx?scid=kb;ja;316148
ボブ
会議室デビュー日: 2004/01/22
投稿数: 17
投稿日時: 2004-10-27 09:41
todoさん、お返事有難うございます。

零時にアンチウイルスやバックアップツール等を実行を行っていません。
時間を変更したり、零時を過ぎることで、Global.asaxやWeb.configの
更新日時が変わってもいませんでした・・・。

私のPCだから現象がおきるようなことではないと思うのですが、
皆さんはどう回避しているんでしょうかね?
お客には諦めてもらうにしても、納得する理由がないことには・・・。
1

スキルアップ/キャリアアップ(JOB@IT)