Мне создали веб-сервис для SharePoint 2007, что я пытаюсь портировать на SharePoint 2010. Этот веб-сервис зависит от состояния сеанса для функционирования правильно, но до сих пор, я был, включают, чтобы заставить состояние сеанса работать вообще в SharePoint 2010. Этот веб-сервис работает как его собственное веб-приложение под t он /_vti_bin
виртуальный каталог. Я попробовал все следующее без удачи:
System.Web.SessionState.SessionStateModule
модуль http в web.config файл моего приложения.System.Web.SessionState.SessionStateModule
модуль http к моему SharePoint базируется web.config файл.<pages enableSessionState="true" />
в web.config файл моего приложения.<pages enableSessionState="true" />
к моему корню web.config файл.Информация о Новой среде:
У кого-либо была удача, заставляя веб-приложение или веб-сервис использовать состояние сеанса в SharePoint 2010 уже?
Спасибо!
Steve
Вы уже сами ответили на этот вопрос где-то еще в Интернете. :)
<httpModules>
<add name="Session" type="System.Web.SessionState.SessionStateModule" />
</httpModules>
ЗАТЕМ вы должны войти в свое веб-приложение и добавить тот же модуль состояния сеанса в управляемый конвейер IIS7.
Откройте диспетчер IIS 7 и найдите свое веб-приложение.
Дважды щелкните «Модули» в разделе IIS.
Щелкните «Добавить управляемый модуль ...» на правой панели.
В диалоговом окне «Добавить управляемый модуль» введите «SessionState»
или что-то подобное в качестве имени и выберите следующий элемент в раскрывающемся списке:
System.Web.SessionState.SessionStateModule, System. Интернет, Версия = 2.0.0.0, Культура = нейтральный, PublicKeyToken = b03f5f7f11d50a3a
После этого состояние сеанса должно быть включено для вашего веб-приложения / веб-службы!
Решение Джошуа помогло мне указать правильное направление, но мне пришлось внести некоторые изменения в свой сценарий - веб-сайт ASP.NET 3.5, развернутый в папке _layouts.
Вот шаги, которые сработали для меня:
изменил тег
в web.config для веб-сайта на
Добавлен модуль System.Web.SessionState.SessionStateModule на уровне веб-сайта Sharepoint (а не на всем уровне IIS - это нарушит работу центрального администрирования, я попробовал :() согласно решению @Joshua. вы развертываете веб-приложение вместо веб-сайта, вы захотите добавить его на уровне своего веб-приложения.
Добавление SessionState HTTPModule ниже в web.config, похоже, не повлияло на меня, вероятно, потому что я использовал web.config Sharepoint, так как мой проект был веб-сайтом, а не веб-приложением. Не совсем ясно по этому вопросу.
<httpModules>
<add name = "Session" type = "System.Web.SessionState.SessionStateModule" />
</httpModules>
Выполните следующие действия:
<modules runAllManagedModulesForAllrequests>
<add name="Session" type="System.Web.SessionState.SessionStateModule" />
</modules>
modules - это тег xml. Я не знаю, почему этот пост не принимает теги xml ..
Спасибо
Кэрол