据我所知,我在 web.config 的所有地方都禁用了 cookieless URL:
<system.web>
<sessionState cookieless="UseCookies" />
<authentication mode="Forms">
<forms cookieless="UseCookies" loginUrl="~/loggain" timeout="2880" />
</authentication>
<anonymousIdentification enabled="false" cookieless="UseCookies" />
<system.web>
浏览我们的网站时,我仍然不时收到无 cookie 的 URL。路径可能如下所示:/(F(5wpzvCsOC[...snip...]9NXal01))/About/
问题是我们的一些 URL 包含可能很长的产品名称,这会导致 HttpException 出现“URL [...] 的长度超过 [...] maxUrlLength”。Google 似乎也将这些 URL 编入索引,但我添加了链接规范以避免这种情况。
如果重要的话,它是一个在 IIS7.5 上运行的 ASP.NET MVC 3 站点。
编辑: 我已经把这个问题搁置了一段时间,但今天我突然想到它可能与缓存有关。我缓存了一些子操作以加快速度,但如果缓存的请求包含 (F([stuff])),缓存自然会包含这些链接。现在的问题是我是否可以首先阻止 ASP.NET MVCs Html.ActionLink() 生成这些链接?