Я думаю, что вы можете пойти на свою точку 2.
не существует волшебного / автоматического способа изменить все ваши классы на сериализуемые, либо вы используете путь атрибутов или интерфейс, но в некоторых классах вам могут потребоваться некоторые исправления или изменения в зависимости от типов свойств.
Кроме того, все должно работать гладко, как только все будет Сериализуемо, и да, вы касаетесь web.config
и все должно работать.
если некоторые из этих объектов не относятся к конкретному пользователю, но могут быть общими для пользователей, возможной альтернативой может быть appFabric, если вы конфигурируете кластер кэша (который может состоять из нескольких компьютеров), вы можете затем сохранить объекты в этом кэше, но, как я уже говорил, это зависит от вашего приложения, являются ли эти объекты абсолютно специфичными для пользователя, поэтому ДОЛЖНЫ быть в сеансе, а не в общем кеше? взгляните на этот ответ: AppFabric против System.Runtime.Caching