Продолжайте получать Поставщик требует, чтобы SessionState был включен на IIS 6 - PullRequest
1 голос
/ 25 января 2009

При попытке развернуть простой проект asp.net mvc на сервере IIS 6 я получаю эту ошибку " Поставщик требует, чтобы SessionState был включен ".

Чтобы исключить, что я делаю что-то не так, я сейчас пытаюсь развернуть только тот шаблон, который вы получаете, когда запускаете новое решение asp.net mvc в vs2008. И да, я включил состояние сеанса в конфигурации IIS, также добавил строку <sessionState mode="InProc" /> в web.config, но это не имело никакого значения.

Попробовал как сопоставление isapi .mvc, так и сопоставление по шаблону, и я все еще получаю страшное сообщение об ошибке.

Я пропускаю что-то очевидное?

Ответы [ 3 ]

3 голосов
/ 25 января 2009

Проверьте ваш web.config и убедитесь, что у вас нет ничего отключающего состояние сеанса. Это будет выглядеть следующим образом.

<sessionState mode="Off" />

В противном случае вы можете проверить и убедиться, что у вас включено состояние сеанса на уровне IIS с помощью ...

  1. Нажмите / выберите свой сайт
  2. В области настроек приложения выберите Конфигурация, а затем Вкладка «Параметры».
  3. в конфигурации приложения выберите область Включить состояние сеанса флажок (или убедитесь, что это проверено).
1 голос
/ 26 января 2009

Не совсем ответ, но я добавил добавление нового сайта в IIS и запуск на порт 81. Он предназначен для внутреннего тестирования / демонстрации, так что это не большая проблема.

Затем я установил виртуальный каталог, который вы можете прочитать из многих руководств, настроил правило isapi с подстановочными знаками для .net 3.5 dll, и сайт был сразу же запущен.

Теперь я столкнулся с Поставщик требует, чтобы SessionState был включен - ошибка дважды. На моей тестовой машине дома и здесь, на работе, при развертывании сайта mvc на веб-сайте по умолчанию в IIS 6 что-то должно идти не так, но не могу сказать, что ...

И спасибо Чаду за попытку помочь мне!

0 голосов
/ 11 марта 2009

У меня была такая же ошибка, но в моем случае это не имело никакого отношения к сессионному состоянию (по крайней мере, это не источник проблемы).

Вы настроили обработку ошибок в файле Global.asax? Если это так, отключите его сейчас.

protected void Application_Error(object sender, EventArgs e)
{
    Exception exception = Server.GetLastError();
    RouteData routeData = new RouteData();
    routeData.Values.Add("controller", "ErrorController");
    routeData.Values.Add("action", "HandleTheError");
    routeData.Values.Add("error", exception);

    Response.Clear();
    Server.ClearError();

    IController errorController = new ErrorController();
    errorController.Execute(new RequestContext(
        new HttpContextWrapper(Context), routeData));
}

После отключения этого кода я получил ошибку http 404, что не удалось найти одну из моих страниц. Не забудьте добавить расширение mvc к вашим ссылкам. Если решение корневого каталога является вашей проблемой, используйте функцию Url.Content в сочетании с "~ /".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...