iOS上的Chrome显示jQuery Mobile页面的奇怪网址(ASP.NET MVC)

Cot*_*ten 4 iphone jquery-mobile asp.net-mvc-3

我有一个jQuery Mobile页面,可以在iPhone(iOS 5+)上的Safari中正常运行.点击此链接时......

@Html.ActionLink("Click to download", "Download", "Home")
Run Code Online (Sandbox Code Playgroud)

...我被带到myapp.com/Home/Download

当点击Chrome浏览器在iPhone上相同的链接我带到myapp.com/(F(LzXF8gDEEPPgR7F_UZ0wf2uWg1e-aK1mgwtvzxCTIgflM43gYVEY06XIIq91OLlyjnRXo78AXHQLoXMUXRjOLKQltEhrsYgmTnSNsHzBfl01)) /主页/下载

任何人都知道为什么网址会搞砸了?(从该网址没有后续链接工作..)

谢谢!

Dar*_*rov 8

您的用户代理(浏览器)不支持cookie或禁用了cookie.在这种情况下,ASP.NET属于兼容模式,通过在URL中附加会话ID来跟踪用户会话.所以现在你的所有网址都有这个ID.这是完全正常的行为.

不仅使用ASP.NET Session而且使用Forms Authentication cookie也会发生同样的情况.您可以通过强制始终使用cookie来禁用web.config中的ASP.NET会话的此行为:

<sessionState cookieless="UseCookies" />
Run Code Online (Sandbox Code Playgroud)

显然,如果用户禁用cookie,您的应用程序将会崩溃,因为它无法跟踪用户.表单身份验证cookie完全相同:

<authentication mode="Forms">
    <forms loginUrl="~/Account/LogOn" timeout="2880" cookieless="UseCookies" />
</authentication>
Run Code Online (Sandbox Code Playgroud)