- PR -

ASPとASPX間でのセッション

1
投稿者投稿内容
makura
ベテラン
会議室デビュー日: 2002/11/27
投稿数: 90
投稿日時: 2002-11-27 23:56
はじめまして。
どうしてもわからないことがあるので質問させてください。

既存のASPアプリケーションを段階的にASP+に移行しようと考えています。
そこでまずは簡単なエラー画面表示用ASPをASP+に移行しようとしているのですが、
エラーの発生元のASPページ(VBScript)から、エラー画面表示ページ(C#)への
セッション変数の受け渡しができません。(中身が空です)
同じ機能をもつエラー画面表示ページをASP(VBScript)で書くとうまくいくのですが、
何が問題なのでしょうか?

EnableSessionState はオンにしてありますし、リダイレクト先をVBScript版の
エラー画面表示ページに差し替えるだけでエラーは表示されています。

エラーの発生元ページ(VBScript)
On Error Resume Next
sqlConnection.Open _
      "Provider=SQLOLEDB;" & _
      "Data Source=" & strSQLServerName & ";" & _
      "Initial Catalog=" & strSQLDatabase & "", strUserID, strPassword
errorNumber = Err.Number
errorDescription = Err.Description
errorSource = "データベース接続 フェーズ2"
On Error Goto 0

If errorNumber <> 0 Then
    Session("errorNumber") = errorNumber
    Session("errorDescription") = errorDescription
    Session("errorSource") = errorSource
    Response.Redirect "error.aspx"
End If


エラー画面表示ページ(C#)
<%@ Language="C#" %>
<%
    Response.Write( (string)Session["errorNumber"] );
    Response.Write( (string)Session["errorDescription"] );
    Response.Write( (string)Session["errorSource"] );
%>

エラー画面表示ページ(VBScript)
<%@ Language="VBScript" %>
<%
    Response.Write( Session("errorNumber") )
    Response.Write( Session("errorDescription") )
    Response.Write( Session("errorSource") )
%>


[ メッセージ編集済み 編集者: makura 編集日時 2002-11-28 00:04 ]
小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2002-11-28 09:48
IISからaspとaspxがどのファイルに関連付けされているか調べればはっきりする
ことなのですが、aspとaspxは解釈される実行エンジンがまったく別のものです。
ASPとASP.NETは1つのサーバ上にのせられた2つのまったく別のサービスだと
考えてください。
このため、ASPとASP.NETの間でのセッション変数の受け渡しはできません。
makura
ベテラン
会議室デビュー日: 2002/11/27
投稿数: 90
投稿日時: 2002-11-28 23:37
shuさん、ありがとうございました。
別のエンジンで解釈実行されるとのことで、aspとaspxをいり混ぜて使うことは危険ですね。

ASP+への移行方法を再検討することにします。
どうもありがとうございました。
1

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