Решение Джошуа помогло направить меня в правильном направлении, но мне пришлось внести некоторые изменения в мой сценарий - веб-сайт ASP.NET 3.5, развернутый в папке _layouts.
Вот шаги, которые работали для меня:
изменил тег <pages>
в web.config для веб-сайта на <pages enableSessionState="true" />
Добавлен модуль System.Web.SessionState.SessionStateModule на уровне веб-сайта Sharepoint (не весь уровень IIS - это нарушит работу центра администрирования, я пытался :() согласно @ Решение Джошуа. Если вы развертываете веб-приложение вместо веб-сайта, вам нужно добавить его на уровне веб-приложения.
Добавление приведенного ниже HTTP-модуля SessionState в файл web.config, похоже, не дало мне никакого эффекта, возможно, потому, что я катался на web.config Sharepoint, поскольку мой проект был веб-сайтом, а не веб-приложением. Не слишком ясно по этому вопросу.
<httpModules>
<add name = "Session" type = "System.Web.SessionState.SessionStateModule" />
</httpModules>