Вопрос старый, но ответа не было, у меня была такая же проблема, и я нашел решение на другом сайте. Так как эта тема является первым результатом в Google, я добавляю решение здесь для других.
Проблема заключается в добавлении объекта struct в сеанс. Веб-приложение ASP.NET обрабатывает хранение объектов сеанса по-разному от режима InProc до режима SQLServer. При хранении объектов сеанса в SQL Server .NET Framework будет сериализовывать объекты. Это необходимо, поскольку объект сеанса необходимо передавать с сервера на сервер.
Трассировка стека (желтый раздел на странице ошибок) показывает, какой именно объект вызвал проблему. В моем случае:
[SerializationException: введите ' admin + users + stUsers ' в сборке
'App_Code.3_0rnsep, версия = 0.0.0.0, культура = нейтральная,
PublicKeyToken = null 'не помечен как сериализуемый.]
Я добавил [Сериализуемый] тег выше моей структуры, и проблема исчезла.
[Serializable]
public struct stUsers
{ .... }