Включение состояния сеанса в SharePoint 2010?

Мне создали веб-сервис для 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 файл.

Информация о Новой среде:

  • Visual Studio 2008 - SP1
  • .NET 3.5 - SP1
  • SharePoint 2010 - RC
  • Windows Server 2008 R2
  • Веб-сервис ASMX (не WCF)

У кого-либо была удача, заставляя веб-приложение или веб-сервис использовать состояние сеанса в SharePoint 2010 уже?

Спасибо!

Steve

9
задан Steve Danner 10 February 2010 в 17:33
поделиться

3 ответа

Вы уже сами ответили на этот вопрос где-то еще в Интернете. :)

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

ЗАТЕМ вы должны войти в свое веб-приложение и добавить тот же модуль состояния сеанса в управляемый конвейер IIS7.

  1. Откройте диспетчер IIS 7 и найдите свое веб-приложение.

  2. Дважды щелкните «Модули» в разделе IIS.

  3. Щелкните «Добавить управляемый модуль ...» на правой панели.

  4. В диалоговом окне «Добавить управляемый модуль» введите «SessionState» или что-то подобное в качестве имени и выберите следующий элемент в раскрывающемся списке:

    System.Web.SessionState.SessionStateModule, System. Интернет, Версия = 2.0.0.0, Культура = нейтральный, PublicKeyToken = b03f5f7f11d50a3a

После этого состояние сеанса должно быть включено для вашего веб-приложения / веб-службы!

11
ответ дан 4 December 2019 в 10:32
поделиться

Решение Джошуа помогло мне указать правильное направление, но мне пришлось внести некоторые изменения в свой сценарий - веб-сайт ASP.NET 3.5, развернутый в папке _layouts.

Вот шаги, которые сработали для меня:

  1. изменил тег в web.config для веб-сайта на

  2. Добавлен модуль System.Web.SessionState.SessionStateModule на уровне веб-сайта Sharepoint (а не на всем уровне IIS - это нарушит работу центрального администрирования, я попробовал :() согласно решению @Joshua. вы развертываете веб-приложение вместо веб-сайта, вы захотите добавить его на уровне своего веб-приложения.

Добавление SessionState HTTPModule ниже в web.config, похоже, не повлияло на меня, вероятно, потому что я использовал web.config Sharepoint, так как мой проект был веб-сайтом, а не веб-приложением. Не совсем ясно по этому вопросу.

<httpModules> 
    <add name = "Session" type = "System.Web.SessionState.SessionStateModule" /> 
</httpModules>
1
ответ дан 4 December 2019 в 10:32
поделиться

Выполните следующие действия:

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

modules - это тег xml. Я не знаю, почему этот пост не принимает теги xml ..

Спасибо

Кэрол

0
ответ дан 4 December 2019 в 10:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: