以下の環境でWebアプリケーションを作成しております。
ASP.NET MVC 5
VisualStudio 2013
IIS 7.5
Windows 7
VisualStudioの開発サーバー(IIS Express)上で実行した場合と
ローカルIISにデプロイして実行した場合とで挙動が異なってしまい、
原因がわからず困っています。
(ローカルIISで意図しない挙動となります)
【挙動1】
以下①と②の異なる方法でActionNameメソッドを呼び出した場合、
Session IDは同じなのに所持している独自パラメータ(Session[""]等)が
異なる。(ActionNameは任意の関数名)
①
Viewファイル内で
@Html.Action("ActionName")を使って
ActionNameメソッドを呼び出す
②
Viewファイル内に定義したjavascript関数(jquery)内で
$('#hogehoge').load('/Controller/ActionName');
でActionNameメソッドを呼び出す
上記①②とは別のアクションメソッド内でSession["hoge"] = 1;といったように
パラメータをセットしておきます。
その後すぐに①を実施した場合、ActionNameメソッド内でセッション情報を確認するとSession["hoge"]は存在します。しかし②を実施した場合、ActionNameメソッド内でSession["hoge"]は存在せず、nullになっております。
(セッションのタイムアウトは20分で設定されております。上記作業は数秒以内で実施しております)
【挙動2】
挙動1で示している①と②のActionNameメソッドの呼び出し方法の違いで、シングルトンで定義したクラスオブジェクトの情報も維持されません。
①②とは異なるアクションメソッド内でシングルトンクラスオブジェクトに値をセットしておき、①を実施するとActionNameメソッド内でシングルトンクラスオブジェクトに値がセットされていることが確認できるのですが、②だとActionNameメソッド内でシングルトンクラスオブジェクトに値がセットされていません(nullになっています)。
以上です。
宜しくお願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。