Длинная строка URL с игнорированной кодированной строкой - PullRequest
0 голосов
/ 29 февраля 2012

Вчера вечером я получил несколько ошибок от моего сайта, связанных с слишком длинными URL-адресами, и URL-адреса содержали ссылку на что-то вроде 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 или виртуальный каталог, но это можетТак как он работает точно так же на живом сервере и моей локальной машине, но 2 экземпляра IIS не имеют одинаковые настроенные виртуальные каталоги / приложения.

Есть ли какое-то значение для этой строки икакой-то способ раздеть это?

1 Ответ

0 голосов
/ 29 февраля 2012

Я считаю, что это связано с управлением сеансом и применением параметра «cookieless» в значение «true», установите для этого параметра значение «false», и ваш URL должен быть меньше.Ознакомьтесь с этой статьей для получения подробной информации о параметрах управления сеансами , хотя, если вам нужна среда без файлов cookie, подход к сеансу может потребовать некоторого переосмысления ...

...