У меня есть приложение ASP.NET, в котором я использую состояние сеанса SQL.
Мое приложение получает данные от веб-службы RESTful, вывод которой - JSON. Эти данные сериализуются на стороне веб-службы и десериализируются на стороне моего веб-сайта с использованием объекта DataContractJSONSerializer. Сериализуемые объекты являются простыми объектами .NET POCO. У них нет атрибута [Serializable]. DataContractJSONSerializer по умолчанию просто сериализует и десериализует свойства, что мне подходит.
Один из этих объектов, которые я получаю от своего сервиса, я хотел бы сохранить в своем состоянии сеанса (т. Е. SQL). Это требует, чтобы объект был сериализуемым. Проблема заключается в том, что, если я добавлю атрибут Serializable в мои объекты POCO, изменения сериализации JSON и все поля (включая частные поля) будут сериализованы и возвращены из веб-службы, что нарушит десериализацию с моей стороны.
Мне интересно, есть ли способ контролировать способ сериализации объектов ASP.NET при использовании состояния сеанса SQL? Если бы я мог как-то сериализовать объекты здесь снова, используя DataContractJSONSerializer, это было бы здорово. Или другой метод, где я мог бы контролировать сериализацию.
Я знаю, что мог бы реализовать ISerializable и управлять тем, как мои объекты сериализуются, и это решило бы мою проблему, но я стараюсь избегать реализации этого на каждом объекте, который я хочу сериализовать.