Служба состояний при использовании system.web.routing в WebForms - PullRequest
0 голосов
/ 02 октября 2008

Я использую сборку System.Web.Routing в приложении WebForms. При запуске приложения, развернутого на win2008 / IIS7, я получил следующее сообщение.

Состояние сеанса может использоваться, только если для enableSessionState задано значение true, либо в файле конфигурации, либо в директиве Page. Также убедитесь, что System.Web.SessionStateModule или пользовательский модуль состояния сеанса включены в раздел \\ в конфигурации приложения.

Это проблема только при использовании настроенного мной маршрута. Это не проблема при прямой навигации по странице aspx.

EnableSessionState включен как в web.config, так и в директиве Page. Я добавил запись сеанса в httpmodule файла web.config.

Это не проблема при разработке с использованием Visual Studio на моей рабочей станции. Это проблема только при попытке запустить приложение под IIS7 на Win 2008.

Ответы [ 2 ]

1 голос
/ 04 июня 2009

У меня та же проблема, и я думаю, что знаю, в чем проблема.

Я пытаюсь реализовать страницу FileNotFound в системе маршрутизации (я пока не выяснил, как предоставить страницу FileNotFound и дать 404 ответ в заголовке)

Что я обнаружил, так это то, что по какой-то причине страницы, зарегистрированные в BuildManager, кажутся экземплярами без контекста сеанса (страница фактически не запрашивалась, а просто создавалась!).

По крайней мере, так оно и есть.


Теперь я менее уверен в своем предыдущем утверждении. По-видимому, запросы на изображения также проходят через систему маршрутизации, когда они не существуют физически. Это приводит к вызову IRouteHandler, когда путь к изображению совпадает. Я почти уверен, что объект сеанса не существует, когда запрашивается изображение, поэтому это может вызвать проблему, когда перенаправленная страница пытается получить к нему доступ.

0 голосов
/ 17 ноября 2009

Я думаю, что то, что вы описываете, похоже на вопрос , который у меня был.

Возможно, ваш IIS7 работает в другом режиме, и это больше похоже на II6, чем на 7:

Пара вопросов: 1. Ваше отображение правильно перенаправляет ваш запрос? 2. Когда ваш запрос сопоставлен, куда он идет? 3. Если вы проследите по этой странице, какая строка кода генерирует ошибку (она даже попадает в ваш код)?

...