2012-02-29 90 views
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個實例不一樣虛擬目錄/應用程序設置。

是否有一些重要的字符串和某種方式去除它?

回答

0

我認爲這與會話管理有關,並將'無cookie'參數應用於'true',將此值設置爲'false',並且您的URL應該更小。看看這篇文章的Session Management options的細節,雖然如果你需要一個無cookie的環境,你的會話方法可能需要一些重新思考...

+0

我的會話已經在使用cookies(Cookieless屬性不在會話狀態標籤中,假設默認爲false)。通常情況下,我沒有看到這個。但是有一個用戶能夠訪問它。顯然,即使使用cookie,放入網址仍然必須工作。 – jwynveen 2012-02-29 17:00:36

+0

如果您沒有啓用此功能,並且偶爾會發生這種情況,則可能是因爲會話黑客行爲 - > http://msdn.microsoft.com/en-us/library/aa479314.aspx#cookieless_topic5以及圍繞此http://msdn.microsoft.com/en-gb/magazine/cc300500.aspx的可能方式 – SeanCocteau 2012-02-29 17:29:35