Hello,
We are using Protogen in .Net environment. The auto generated class from
protgen is used as a response in a service contract between a wcf service
(http binding) and a browser client. WCF uses JSON serializer, the built
in. The problem we are having is that the c# Response class (which is auto
generated from protogen) is created with Properties, for example:
*[global::System.Serializable, global::ProtoBuf.ProtoContract(Name
= @"Response")]*
* public partial class Response : global::ProtoBuf.IExtensible*
* {*
* public Response() { } *
*private bool _success;*
* [global::ProtoBuf.ProtoMember(1, IsRequired = true, Name =
@"success", DataFormat = global::ProtoBuf.DataFormat.Default)]*
* public bool success*
* {*
* get { return _success; }*
* set { _success = value; }*
* }*
This class is serialized by the WCF default json serializer and returned to
the client. The problem is that the json serialize output is composed from
the *private *member of the class and not from the public properties,
meaning that the browser response is returned in the following way:
{_success:value} instead of {success:true}.
This is because of the [*System.Serializable*] tag on the class which is
makes all of the class *fields* serialized (no properties).
Is there a way to tell protogen to create the class with only public fields
and not properties? Any other suggestion will be welcome as well
Thanks
--
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.