长URL字符串,忽略编码字符串

时间:2012-02-29 16:23:47

标签: c# .net asp.net-mvc url c#-4.0

昨晚我的网站收到了一些错误,这些错误与网址太长有关,网址上有一个引用http://www.domain.com/(F(MMAiUqbVfiNX75BZlCga8Aj-TZC1FC9CmzwHEW_HJiiedWLJgmOmz4TuXJVZAk8fuaeG1tP-q9Ss31KvU1zx7ozq7ZWjO80IizattGbJSdK-6Bz1delq4nzK-_FDjmnSnZv210JzGiWmQ4k1aNhCekMIIbQLvdaH9-aBlg2))/

的引用者

我在本地测试这个,并且该url确实有效。在Request.Url对象中,它似乎实际上忽略了其中的长编码字符串(Request.Url.OriginalString是http://www.domain.com:80/,RelativePath是〜/)。

问题是任何UrlHelper都会继续将其附加到URL上。所以做Url.Content(“〜/ foo / bar”)会在末尾返回带有/ foo / bar的长字符串。

这几乎就像是和ApplicationPath或虚拟目录一样,但这不可能,因为它在实时服务器和我的本地机器上的工作方式完全相同,但是IIS的2个实例没有相同的虚拟机目录/应用程序设置。

该字符串是否有一些重要意义并将其删除?

1 个答案:

答案 0 :(得分:0)

我认为这与会话管理有关,并将'cookieless'参数应用于'true',将此值设置为'false',并且您的网址应该更小。查看这篇文章了解Session Management options的详细信息,虽然如果您需要一个无cookie的环境,您的会话方法可能需要重新思考......