• 締切済み

asp.net プログラムを入替え時セッションが切れる。

todo36の回答

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

BINフォルダを書き換えると、アプリケーションが再起動します。 再起動することによりDLLが読み直されます。 しかし、その時セッション情報が損なわれます。 どうしてもッション情報が損なわれるのが嫌であれば、 StateServerかSQLServerに置くことも出来るようです。 http://support.microsoft.com/default.aspx?scid=kb;ja;312592 http://support.microsoft.com/default.aspx?scid=kb;ja;316148

SpeedSky
質問者

補足

早速のご返答ありがとうございます。 セッションはSQLServer上で動作するように設定していますがセッションが切れる現象が起こっています。 説明不足な点がありまして申し訳ございません。

関連するQ&A

  • WindowsXPのセッションユーザーについて

    WindowsXPの管理ーツール内にある共有フォルダ→セッションについて質問です。 ユーザー名の後ろに「$」マークが付いているユーザーがいるのですが、このユーザーは一体誰なんでしょうか? 良く、セッションが最大の10になるのですが、調べてみると実際にはアクセスしていないのに、この管理ツールにあるセッションのユーザーには記録されていたりします。 個人的には、ユーザー名$となっている、この$ユーザーが怪しいと思っているのですが・・・ 尚、セッションを手動で削除しても、しばらくすると復活したり、実際にはそのユーザーはいなかったりもします。 どなたが、$ユーザーの正体、もしくはアクセスしていないのにセッション自体は残っているといった、現象の解決方法をご存知の方がいらっしゃいましたら、ご回答して頂きたく思っておりますので、宜しくお願い致します。

  • ページを一度更新しないとSession値が渡らない。

    ASPで初めてプログラムしています。 A.asp → Err.inc → Err.asp というように、エラーがあったらErr.aspに 遷移するようにしているのですが、 Err.aspで更新ボタンを押さないとSession値が表示されません。 具体的に *** Err.inc *** <% Sub COMM_USER_ERROR(strMsg)   session("ErrMsg") = strMsg   'システムエラー表示   Response.Redirect("Err.asp")   Response.End End Sub %> *** A.asp *** If Request.ServerVariables("REQUEST_METHOD") <> "POST" Then   Call COMM_USER_ERROR("不正なアクセスをしました") End If *** Err.asp *** <HTML>   (中略)   <%=session("ErrMsg")%> どうしたらよいか全くわかりません。 どなたか教えていただけないでしょうか? よろしくお願いいたします。

  • 同一セッションIDのブラウザを複数開かせたくない

    ASP、ActiveXDLL、JavaScriptで作られているシステムのメンテナンスをしています。 DBはOracle9iです。 一部の大変複雑な処理をしているところや、画面遷移時に仮保存状態として処理するためにASPプログラム内でワークテーブルを作成し、そこに保存しております。 ワークテーブルは「IPアドレス+セッションID+元テーブル名」としており、IEで ・「Shiftキー+リンククリック」 ・「Ctrl+N」 ・「リンクを新しいウィンドウで開く」 などで、同一セッションIDでブラウザを複数画面操作できるので、その複数画面で同じプログラムで操作すると同じワークテーブルを扱い、おかしなデータができてしまいます。 多数のプログラムでワークテーブルを使用しており、ワークテーブルの名前を変更することは時間的に無理があるので、同一セッションで複数画面を開かせないようにしたいと思っているのですが、なんとか実現できませんでしょうか? よろしくお願いします

  • SESSIONの削除について

    SESSIONを使用し、問い合わせフォームを作っています。 最後に問い合わせ完了をした際にSESSIONの削除をおこなっているのですが、 どのSESSION削除方法がよいかわからずご質問させていただきました。 ・unset(); ・$_SESSION = array(); フォームから受け取るSESSIONは $_SESSION['contact']['key']; $_SESSION['contact']['data']['name']; $_SESSION['contact']['data']['email']; としており、 unset($_SESSION['contact']); としています。 ところが、ユーザーAとユーザーBが同時にお問い合わせページに入力をおこなったとし、ユーザーAが先に完了した場合ユーザーBのSESSIONも削除される(切れる?)といった現象がおきており、困っております。(もしかしたら別問題かもしれませんが・・・) 自分の認識では unset()は個別に削除でき、ユーザーAのSESSIONのみ削除する。 $_SESSION = array();はユーザーA、ユーザーB両方のSESSIONを初期化(削除)すると認識しております。 間違っておりませんでしょうか?

    • 締切済み
    • PHP
  • 別ブラウザにセッションを渡す事ってできますか?

    お世話になります。 VBもASPも初心者に近いので、説明不足もあるかと思いますが、 よろしくお願いいたします。 <概要> VBで、WebBrowserを利用してフォーム内にASP1を表示する作りにしました。 表示したASP1上でボタンを押すと別のASP2を新しいブラウザで表示する作りになっています。 <問題> 新しいブラウザでASP2を表示する際にASP1からのセッション変数が 引き継がれず、消えてしまいます。 OSの環境はWindowsXPです。 Web環境はIEです。 VBは6.0です。 ASPは.NETではありません。 実際に初めのASP1を表示する箇所が下記です。  Form1.WebBrowser1.Navigate2 "ASP1"  Form1.Show そして、"ASP1"からASP2を表示する時が下記です。 ※ここはjavascriptを使用しています。 function Button_onClick(){  newWin = window.open("ASP2", "newWin") } <やりたい事> ASP1で使用しているセッション変数を ASP2でも使用したいのです。 ASP1のセッションIDをASP2に渡して、そのセッション変数を使うとか強引な方法とかあるのでしょうか? ちなみに、VB6.0を使用せず、IEのブラウザでASP1からASP2を呼ぶとセッションは切れません。 よろしくお願いします。

  • レガシーASPの、携帯ブラウザからのセッション維持について

    レガシーASPの、携帯ブラウザからのセッション維持について 現在、レガシーASPでWEBメーラーを改造しております。 このメーラーはもういない先輩が作成したもので、パソコンでの使用を目的に組まれました。 これを携帯のブラウザからでも使用できるように改造しなければならず、現在問題点を確認しております。 しかし、レガシーASPだとクッキーでセッションを維持しているが、ドコモのブラウザはクッキーに対応していないということを聞きました。 ASPのソースを見たところ、セッション関数を使ってDBやフォルダからデータをとってきているらしく、このままでは動きません。 いっそASP.NETに移行し、Cookielessを使用したほうがいいでしょうか? それとも、レガシーASPに、セッションの代わりになる方法などがありますでしょうか? 下にソースコードの一部を書きます。 当方プログラミング未経験のため、どこをどうすれば良いかも教えていただけると嬉しいです。 よろしくお願いします。 ' ログインチェック sub s_LoginChk() dim l_user,l_password dim l_msg,l_sql,l_url l_user = Request("p_name") l_password = Request("p_password") Session("s_user")=l_user l_msg ="" if l_msg ="" then l_sql = "SELECT l_id FROM mail.dbo.tbl_login WHERE " l_sql = l_sql & "l_name='" & l_user & "' AND " l_sql = l_sql & "l_pass='" & l_password & "' " i_Recs.Open l_sql,i_Conn ' データベースに問い合わせOK if NOT i_Recs.EOF then Session.Timeout=120 Session("s_id")=i_Recs("l_id") l_url = "mail.asp?p_opt=TopMenu" Response.Redirect(l_url) end if i_Recs.Close end if end sub ' トップメニュー sub s_TopMenu() Dim l_day,l_sql Dim l_id,l_sdate,l_edate,l_title if Session("s_id")="" then call s_SessionEnd() exit sub end if %> <form action=mail.asp method=post> <FRAMESET ROWS="100,*"FRAMEBORDER="no"> <FRAME SRC="sample1_top.html" SCROLLING="no" NORESIZE> <FRAMESET COLS="150,*" > <FRAME SRC="sample1_left.htm" SCROLLING="no" NORESIZE> <FRAME SRC="sample1_right.html" NAME="right"> </FRAMESET> </FRAMESET> </form> ようこそ <b><%=Session("s_user")%></b> さん <% l_day =YEAR(now)&"/"&Month(now)&"/"&DAY(now) call s_Menu() %> </table> <% end sub

  • セッション管理について

    ひとつのWebサービスを複数サーバで運用していて、 データベースでセッション管理を行うと、データベース側に 負荷がかかってしまうため、memcacheを導入しセッション管理を しようと考えております。 (携帯サイトのためCoockieは使用できません) 1. memcacheとmemcachedの違いはなんでしょうか。  memcachedのほうが性能がいい、程度にしか認識していなかったのですが..   2.現在のWebサービスはPHP4.4.4で運用しており、PHP5に移行することは  リスクを考えると難しいです。。  memcacheはphp4.3.11、memcachedはphp5以降で利用可能であると  認識しているのですが、実際可能なのでしょうか?  社内の人間に聞くと、PHP5以降からしか対応していないと  言われ、迷っております。(また、対応バージョンについての文書も見つかりません。。)    テスト環境(php4.4.4)でmemcacheを入れ、PHPのmemcache関数を  使用したところ、通常にセッションの管理がされている気が  したのですが、複数サーバでロードバランスされているテスト環境が  なく、Webサーバが複数台ある場合の確認はできません。  実際、可能なのでしょうか。

    • 締切済み
    • PHP
  • セッションの有効期限

    Linux7.2 + PHP4.2(DSO版)+ Apacheを使用しセッション管理を使用した認証機能を制作しています。 session.cache_expire = 180としているのに ログイン後20分くらいでセッションが切れる現象が生じています。 プログラム上では特別なことはしていません。 session_start(); session_cache_limiter('nocache'); を先頭に書いているだけです。 以下、php.iniのセッション関連の設定です。 どなた方この現象についてご存知でしたら教えて下さい。 宜しくお願いします。 session_auto session.save_handler = files session.save_path = /tmp session.use_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.gc_probability = 1 session.gc_maxlifetime = 1440 session.referer_check = session.entropy_length = 0 session.entropy_file = ;session.entropy_length = 16 ;session.entropy_file = /dev/urandom session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 0

    • 締切済み
    • PHP
  • 別ブラウザ間でセッションの値が共有されてしまう問題

    別ブラウザ間でセッションの値が共有されてしまう問題 あるサーバー(hostgator)で、セッションを使用するプログラム(PHP)を作っているのですが、あるブラウザで入力した値が、全ての異なるブラウザで同じ値を参照してしまっている 現象が出てしまい、困っています。 異なるブラウザというのは、別PC/別IPアドレスの別ブラウザでも、セッションを共有してしまっています。 同プログラムを、別会社のサーバーに入れた所、 きちんとブラウザごとに別の値が保存されているので、このサーバーだけの問題かと思い、 php.iniなどを調べてみたのですがそれらしい設定を見つけることができませんでした。 この現象を解決する方法をご存知のかた、おられないでしょうか? プログラム自体は、この現象を再現するために作ったもので、 以下の様なものです。 別ブラウザ間でセッションの値が共有されてしまう問題あるサーバー(hostgator)で、セッションを使用するプログラム(PHP)を作っているのですが、あるブラウザで入力した値が、全ての異なるブラウザで同じ値を参照してしまっている 現象が出てしまい、困っています。 異なるブラウザというのは、別PC/別IPアドレスの別ブラウザでも、セッションを共有してしまっています。 同プログラムを、別会社のサーバーに入れた所、 きちんとブラウザごとに別の値が保存されているので、このサーバーだけの問題かと思い、 php.iniなどを調べてみたのですがそれらしい設定を見つけることができませんでした。 この現象を解決する方法をご存知のかた、おられないでしょうか? プログラム自体は、この現象を再現するために作ったもので、 以下の様なものです。 session_start(); $_SESSION['val'] = $_SESSION['val'] + 1; echo $_SESSION['val'];

    • 締切済み
    • PHP
  • ASPからWscriptを利用して外部ファイル起動時のエラー

    他の掲示板で投稿されていた質問ですが、同様の現象に はまっています。ご存知でしたらご教授ください。 以下、引用。 環境:Windows XP SP2 , IIS5.1 サンプルプログラム: 1.test.asp  (Wscript.Shell.Runで同じフォルダにあるバッチファイルを実行) ----------------------------------------- <%@Language=VBScript%> <% Option Explicit dim WshShell Set WshShell = Server.CreateObject("WScript.Shell") WshShell.Run "C:\wsh\test.bat" Set WshShell = Nothing %> aaaaa ----------------------------------------- 2.test.bat   (同じフォルダのテキストファイルに文字列を出力) ----------------------------------------- echo aaa > c:\wsh\testbat.txt ----------------------------------------- 現象: 実行したところ、以下のエラーが発生します。 ----------------------------------------- Microsoft VBScript 実行時エラー (0x800A0046) 書き込みできません。 /wsh/test.asp, line 6 ----------------------------------------- 試したこと: 1.バッチファイルを実行する箇所をなくしたASPを作成   ⇒ 正常に動きました 2.他の環境での確認   ⇒ Windows2000Server : 正常に動きました     後輩のXP SP2    : 同様のエラーが発生しました 3.仮想フォルダの匿名アクセスのチェックを外す   ⇒ 正常に動きました 4.IUSR_,IWAM_ユーザーにAdministrators、Users,Guests等の権限をふる   ⇒ 同様のエラーが発生しました 5.ASPファイルなどを格納しているフォルダにIUSR_、IWAM_を追加し   フルコントロールの権限を与える   ⇒ 同様のエラーが発生しました