2016-04-24 32 views
0

ユーザーがLogsInを使用しているときに、セッション["ユーザー名"]を作成していて、自分のmasterpageで使用しています。これはVisual Studioで作業しているときにうまく動作しますが、IIS 6.0でこのセッションをホストすると、セッションがnullになります。 は私が多くを試みたweb.configファイルでこれを含めるが、運IISで自分のWebサイトをホストすると、セッションがnullになる

<sessionState mode="InProc" timeout ="60" cookieless="false"></sessionState> 

この質問は、重複しないかもしれないが、私は以前の回答を確認しましたが、私の問題は解決してしまっていませんでした。私はOracle 11gデータベースとAsp.net 4.0フレームワークを使用しています。

答えて

0

問題です:

mode="InProc" 

これは、セッションデータはプロセスでメモリ内に保持されることを意味します。しかし、IISはいつでもすべてのセッションデータを消去してアプリケーションプールをリサイクルすることができます。このため、このセッション状態を専用ストアに格納することを検討することもできます。異なるsessions state stores利用可能

model="sqlserver" 

チェックアウト:一つの可能​​性は、SQL Serverストアを使用することです。

InProcセッションステートモードは、開発目的でのみ使用し、本番環境では使用しないでください。

+0

私はsqlserverではなくOracle 11gデータベースを使用しています。 「SQL Serverへの接続を確立する際にネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからなかったか、アクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認します。 (プロバイダー:名前付きパイププロバイダー、エラー:40 - SQL Serverへの接続を開けませんでした) ' –

+0

セッションが格納されるSQLデータベースへの接続文字列を指定する必要があります。 SqlServerのセッション状態モードを使用する方法の詳細については、私の答えにリンクしている記事をお読みください。私はこれがOracleデータベースではうまくいくとは思っていません。 SQLがあなたのためのオプションではない場合は、同様に状態サーバー・モードを使用することを検討することもできます。しかし、再び状態サーバーが再起動されると、セッションは失われます。これはSQLほど永続的ではありませんが、メモリと比較してはるかに優れています。 –

関連する問題