セッション状態サーバーにセッション状態要求を行うことができません


121

現在、このサイトでこの問題が発生しています。基本的には、新しいウィンドウがポップアップする特定のリンクをクリックしたときにのみ発生します。
これは私たちが受け取るエラーメッセージです:

セッション状態サーバーにセッション状態要求を行うことができません。
ASP.NET状態サービスが開始されていること、およびクライアントとサーバーのポートが同じであることを確認してください。
サーバーがリモートマシン上にある場合は、HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnectionの値をチェックして、リモートリクエストを確実に受け入れるようにしてください。
サーバーがローカルマシン上にあり、前述のレジストリ値が存在しないか0に設定されている場合、状態サーバーの接続文字列には、サーバー名として「localhost」または「127.0.0.1」を使用する必要があります。

対象サイト:
Void MakeRequest(StateProtocolVerb、System.String、StateProtocolExclusive、Int32、Int32、Int32、Byte []、Int32、Int32、SessionNDMakeRequestResults ByRef)

これは、sessionstateタグを含むwebconfigです。

<sessionState mode="StateServer" timeout="45" />

ASP.NET State Serviceを確認しました。現在、開始されて自動に設定されています

エラーメッセージに示されているレジストリを1に設定しましたが、まだ機能しません。

回答:


305
  1. スタート–>管理ツール–>サービス
  2. ASP.NET State Serviceを右クリックして、「開始」をクリックします

さらに、再起動後に機能するようにサービスを自動に設定することもできます


2
ASP.NET状態サービスを数回再起動した後でのみ機能する場合があります。
マシューロック

2
私にとっての魅力のように働く
アルン

1
正確な名前はaspnet_stateです。
AmiNadimi 2017

1
あなたの私のヒーローは...それを長い間探していました。
G43beli

1
あなたは私を救った...何時間もみんなを動かしている...そしてこの簡単な解決策で着いたよ...本当に..感謝
ロジャー・テッロ

26

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnectionを1に変更する必要がある場合は、パラメーターを変更した後、ASP.net状態サービスを再起動してください。


@hikkenmikke HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection
Pomster

8

それを確認します:

stateConnectionString="tcpip=server:port"

正しい。また、デフォルトのポート(42424)が使用可能であり、システムにシステムfirewallのポートをブロックしているポートがないことを確認してください


1
同じ問題があります。セッションステートサービスが正しく実行されていることを確認しましたが、それでも同じメッセージが表示されます。これが私のweb.config設定です:<sessionState mode = "StateServer" stateConnectionString = "tcpip = 127.0.0.1:42424" sqlConnectionString = "data source = 127.0.0.1; Trusted_Connection = yes" cookieless = "false" timeout = "30" />
lstanczyk 2011年

4

Windows実行ウィンドウの実行パネルにServices.mscと入力します。システム内のすべてのWindowsサービスが一覧表示されます。次の図に示すように、Asp .net Stateサービスを開始する必要があります。ここに画像の説明を入力してください

あなたの問題は解決されます。


4

クライアントの1人が同じ問題に直面していました。これを修正するには、次の手順を実行します。

 (1) Open Run. 

 (2) Type Services.msc

 (3) Select ASP.NET State Service

 (4) Right Click and Start it.

2

チェックするもう1つのことは、Windowsファイアウォールが有効になっているかどうかです。これは、ポート42424をブロックしている可能性があるためです。


2

一部の開発者は、何らかの理由で、IISの外部の非標準の構成ファイル(つまり、web.configではない)やテキストファイルなどの予期しない場所にサーバーのプライベートIPを定義することがあります。これにより、サービスが開始されている、ポートがブロックされていない、登録キーが正しいなどの場合でも、内部操作が失敗する可能性があります。

特にKaseyaは、serveripinternal.txtというファイルをVSAサーバーのルートIISディレクトリに配置します。独自のKaseyaインスタンスを実行している誰かがサーバーの内部IPを変更したときのエラーのテキストを見ました。サーバーにアクセスでき、IISが応答し、ログインページが表示されますが、ログインは失敗し、上記のメッセージが表示されます。



0

私は最近この問題に遭遇し、提案された解決策のどれもそれを修正しませんでした。問題は、セッションに保存されたデータセットの過度の使用であることが判明しました。コードに欠陥があり、セッションサイズが10倍に増加しました。

msdnブログには、これについても説明する記事があります。 http://blogs.msdn.com/b/johan/archive/2006/11/20/sessionstate-performance.aspx

関数を使用してカスタムトレースメッセージを記述し、ライブサイトのセッションデータのサイズを測定しました。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.