ASP.Net Session Sate, Sharepoint, GAC и Bin развертывание - PullRequest
2 голосов
/ 16 июня 2009

Применяется ли тот же процесс для состояния сеанса, когда DLL помещается в корзину, как и в GAC?

Или есть какие-то эзотерические изменения, которые происходят под капотом?

Я получил тестовое решение, развернутое в каталоге bin моего сайта sharepoint, который использует состояние сеанса. Я убедился, что состояние сеанса настроено в моем файле web.config ...

<add name="Session" type="System.Web.SessionState.SessionStateModule" />

enableSessionState="true"

Все отлично работает!

Затем я скопировал этот проект в другое решение, которое развернуто в GAC и активировано на другом сайте sharepoint. Я обязательно включаю состояние сеанса в файле web.config для этого другого сайта sharepoint. Я просматриваю свою страницу, которая использует состояние сеанса, и получаю эту ошибку…

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

Замечательный! Единственное отличие, как я вижу, состоит в том, что одно решение развернуто в папке Bin, а другое - в GAC.

В некоторые дни я ненавижу Sharepoint.

Обновление: Я создал простое решение sharepoint с одной страницей, которая развернута в GAC, эта страница добавляет значение в переменную сеанса и затем считывает его обратно из переменной сеанса в элемент управления меткой ,

Я развернул решение на своем тестовом и производственном сайте, оно работает, как и ожидалось, на тестовом сайте, но выдает ошибку…

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

На моей производственной площадке, почему, почему, почему?

Я проверил и перепроверил мой файл web.config и центральный администратор, чтобы убедиться, что состояние сеанса включено. Теперь это, похоже, указывает на проблему с моим веб-приложением sharepoint.

Обновление на этом 2: Это главная страница! Я только что обнаружил, переключив главную страницу на нестандартный вариант, позволяющий моему коду работать правильно - который использует переменные сеанса. Я также заметил, что пользовательской главной странице не нравится директива страницы autoeventwireup = true. Я сделал сравнение текста между двумя мастер-страницами и не вижу ничего отличного в Tagprefix. Я продолжу искать ...

Обновление 3 Вероятно, проще закрыть этот вопрос и начать новый с дополнительной информацией.

Новый вопрос здесь

Ответы [ 2 ]

0 голосов
/ 02 апреля 2012

Вы проверили, установлен ли флажок " Включить состояние сеанса " в Центр администрирования Sharepoint (Управление приложениями) ? Он не будет работать, если он не включен.

0 голосов
/ 19 июня 2009

Возможно ли, что есть какие-то элементы управления на OOTB master, а не на вашем собственном master? Может быть, там есть проблема. Кроме того, ваш пользовательский мастер, у него также есть собственный код позади?

...