0

これはログで数回見たことがあり、ユーザーからも報告されていますが、問題の真相を突き止めることはできませんでした。

ときどき、奇妙なパス値を持つリンクを含むページが出力キャッシュからレンダリングされます(X(3)S(5l53uwuaffkddojv4iwb3snm))。これはおそらく、ページの最初のレンダリングにこれらのリンクが含まれているために発生し、それらが一緒にキャッシュされるためです。

これは、そのページのすべての URL がこのように見えることを意味します。

http://www.example.com/(X(3)S(5l53uwuaffkddojv4iwb3snm))/foo/bar/index.htm

これは、この質問と MSDN の記事「ASP.NET Cookieless 機能のしくみを理解する」と同じように見えますが、公開サイトではセッションまたはセッション Cookie を使用していますが、サイトの 99% では実際にはセッションを使用していません。 . 残りの 1% はユーザー エクスペリエンスのためにセッション Cookie を使用しているため、これがサイトの残りの部分にどのように問題を引き起こすかわかりません。

上記の記事のこの部分は、問題を参照しているようです。

// Step 2: Check if we have already detected that Cookies are not 
//         supported. This is detected by looking for the string
//        "/(X(1))/" in the URL
If (URL-contains-"/(X(1))/")
   Report_cookies_are_NOT_supported_and_exit;

現在、セッション状態は次のようになっています。

<sessionState mode="SQLServer" sqlConnectionString="data source=myDatabase;user id=dbUsername;password=dbPassword" cookieless="false" timeout="10080" />

この問題を解決する方法について何かアイデアはありますか? このような URL が表示されないようにする方法はありますか?

4

1 に答える 1

1

Cookie の使用を強制していることを確認してください。

<sessionState cookieless="UseCookies" />

フォーム認証 Cookie についても同様です。

<forms loginUrl="~/Account/LogOn" timeout="2880" cookieless="UseCookies" />

これを行わず、Cookie が無効になっているクライアント ブラウザーを使用している場合は、URL で前述のトークンを取得します。

于 2012-11-16T10:00:57.340 に答える