Мы только что начали новый проект ASP.Net, который использует веб-службы для сериализации некоторых бизнес-объектов CSLA в данные JSON для нашего клиентского кода javascript / JQuery. Изучив данные JSON в клиентском браузере (Firebug в Firefox), мы заметили, что существует значительное количество свойств бизнес-объекта, которые нам не нужно загружать в браузер.
Есть ли способ исключить свойства (кроме пометки их как частные) из сериализации JSON-сериализатором? Мы не вызываем JSONSerializer напрямую, а просто включили объявление ScriptMethod в WebMethod.
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
<WebMethod()> _
Public Function getQuestions()
UPDATE
Мы попытались предложить добавить атрибут в публичное свойство, но получили ошибку:
Error 25 Attribute 'NonSerializedAtrribute' cannot be
applied to 'Name' because the attribute is not valid
on the is declaration type.
Теперь, если мы добавим NonSerialized в класс, он будет работать, но не на свойстве. Однако мы хотим, чтобы некоторые свойства были сериализованы.
Есть идеи?