Почему веб-проект Asp.net содержит мусорные значения в URL? - PullRequest
4 голосов
/ 08 августа 2010

Я пытался поискать и искать эту проблему на SO, но добился небольшого успеха, в первую очередь потому, что не уверен, правильно ли я ищу.

Я работаю над веб-приложением ASP.Net Проект (не веб-сайт) с использованием Visual Studio 2008, C # и Cassini для тестирования.

Однако каждый раз, когда я запускаю сайт, я получаю URL-адрес, такой как:

http://localhost:8671/(S(saifdk55xyhalrqbstrtrdiw))/SubjectClassTeacher/Default.aspx

Даже если я изменю URL и попытаюсь перейти на:

http://localhost:8671/SubjectClassTeacher/Default.aspx

Я перенаправлен обратно на этот URL.

Значение мусора в центре: (S (saifdk55xyhalrqbstrtrdiw)) постоянно меняется каждые несколько раз, когда я компилирую, и я понятия не имею, почему он вставляется или как его отключить.

Может ли кто-нибудь пролить свет на эту проблему? Прежде всего, я хотел бы знать, почему это происходит и как это отключить.

Потому что это происходит, когда я также развертываю веб-сайт в IIS. Любая помощь приветствуется.

Спасибо.

1 Ответ

11 голосов
/ 08 августа 2010

Это умная функция в ASP.NET *, которая называется сессий без файлов cookie .Он работает путем введения идентификатора вашего сеанса в каждый URL, поэтому ASP.NET может определить разницу между пользователем A, который посещает страницу, и пользователем B, который посещает ту же страницу.Обычно это достигается с помощью файлов cookie, но при таком подходе устраняется зависимость от того, включен ли их конечный пользователь.

Из MSDN:

... вам не нужно менятьчто-либо в вашем приложении ASP.NET для включения сеансов без файлов cookie, за исключением следующего параметра конфигурации.

<sessionState cookieless="true" />

* Эта концепция не является исключительной для ASP.NET, но онавстроенный в ASP.NET и - как вы обнаружили - может быть включен без особых усилий со стороны разработчика.

...