2

AutoDetectを使用する場合のMSDNのドキュメントによると、現在ASP.NETのCookieなしのセッションで問題が発生しています。

ASP.NETは、要求元のブラウザーまたはデバイスがCookieをサポートしているかどうかを判断します。要求元のブラウザまたはデバイスがCookieをサポートしている場合、AutoDetectはCookieを使用してユーザーデータを保持します。それ以外の場合は、クエリ文字列で識別子が使用されます。ブラウザまたはデバイスがCookieをサポートしているが、Cookieが現在無効になっている場合でも、要求している機能によってCookieが使用されます。

クエリ文字列の部分に注意してください!さて、それが実際にURLに追加された場合、それは&sessionId=yoursessionidhereすべて問題ありませんが、実際に私が取得するのは次のようなURLですhttp://yourserver/folder/(session ID here)/default.aspx

だから私の質問は:このURL改ざん方法の代わりにクエリ文字列を使用するようにASP.NETをどのように構成しますか?

アップデート:

web.configで使用するconfig値を追加しています。

<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="AutoDetect" timeout="20" />
4

1 に答える 1

1

ここでこのリソースを読んでくださいhttp://forums.asp.net/t/1480365.aspx/1web.configにcookieless="UseUri"設定がありますか?私が収集したものからそれを削除してみてください。私に知らせてください!

さらに、質問に構成ブロックを投稿する価値があるでしょう。

さらに掘り下げて、MVCのソースコードでのリクエスト処理をカバーするこの投稿を見つけました-ルーティングにURLでセッションIDを使用すると、かなり深く焼き付けられているように見えます-例外的な回答コードブロックを参照してくださいASP.NETで発生する可能性のあるバグMVC 3ルーティング?

私はあなたを探し続けますが、これは私を困惑させます!ハンセルマン、ハーク、スキートのような人の前でこの質問をする必要があると思います。

于 2012-08-08T12:50:05.323 に答える