4

iPhone(iOS 5以降)のSafariで問題なく動作するjQueryMobileページがあります。そして、このリンクをクリックすると...

@Html.ActionLink("Click to download", "Download", "Home")

... myapp.com/Home/Downloadに移動します

iPhoneのChromeで同じリンクをクリックすると、myapp.com /(F(LzXF8gDEEPPgR7F_UZ0wf2uWg1e-aK1mgwtvzxCTIgflM43gYVEY06XIIq91OLlyjnRXo78AXHQLoXMUXRjOLKQltEhrsYg

URLがめちゃくちゃになる理由を誰かが知っていますか?(そのURLからは、後続のリンクは機能しません。)

4

3 に答える 3

8

ユーザーエージェント(ブラウザ)がCookieをサポートしていないか、Cookieが無効になっています。この場合、ASP.NETは互換モードになり、URLにセッションIDを追加してユーザーセッションを追跡します。これで、すべてのURLにこのIDが割り当てられます。これは完全に正常な動作です。

ASP.NETセッションだけでなく、フォーム認証Cookieでも同じことが起こります。常にCookieを使用するように強制することで、web.configのASP.NETセッションでこの動作を無効にすることができます。

<sessionState cookieless="UseCookies" />

明らかに、ユーザーがCookieを無効にすると、ユーザーを追跡できなくなるため、アプリケーションは単にクラッシュします。そして、フォーム認証Cookieについてもまったく同じことが言えます。

<authentication mode="Forms">
    <forms loginUrl="~/Account/LogOn" timeout="2880" cookieless="UseCookies" />
</authentication>
于 2012-07-02T16:12:08.493 に答える
0

私も同じ問題を抱えていましたそして、

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

私の問題を解決しました。

iPadで設定を確認したところ、ChromeですでにCookieが許可されていたため、ブラウザでCookieを使用するように強制する必要があります。

再度、感謝します..

于 2013-04-24T11:54:41.103 に答える
0

これは古い投稿だと思いますが..

これはChromeiOSv30.0.1599の最新リリースのバグだと思います

Darenが述べたように、これはURLを使用して認証データを保持する.netフレームワークであり、そうでない場合は認証Cookieに含まれます。これは、cookieelessセッションと呼ばれます。

.netは、ユーザーエージェントをCookieをサポートしていないものとして解釈してはなりません。

ログインページにTestingRequest.Browser.Cookiesを追加しましたが、このバージョンのchromeがfalseとして表示されています。これは確かにChromeリリースのバグです。これは、いくつかのポストバックの後にのみ発生するようであり、Cookieとデータをクリアしてコンテンツ設定をキャッシュしても解決しません。

解決する唯一の方法は、chromeをアンインストールしてSafariを使用することです。私はios7を使用しています。

私はこれを解決する方法を知りたいと思っていますが、現在、iOS chromeを使用しているクライアントに、Safariを更新または使用してアンインストールしないようにアドバイスしています。

マーク

于 2013-09-23T00:12:47.993 に答える