How to prevent 'Specified' properties being generated in WCF clients?
silverlight, wcf, wcf-proxy
Solution
try this in your WCF service where the property is declared
[DataMember(IsRequired=true)]
public bool testEnvField { get; set; }
`IsRequired=true` will negate the need for the testEnvFieldSpecified property
Problem
I have two .NET 3.5 WCF services build with VS2008. I have two WCF clients in Silverlight to consume these services. The clients are generated with the 'Add Service Reference'. I am using Silverlight 4. ONE of the proxies is generated with `Specified` properties for each property. This is a 'message-in' class for my service method : ``` // properties are generated for each of these fields private long customerProfileIdField; private bool customerProfileIdFieldSpecified; private bool testEnvField; private bool testEnvFieldSpecified; ``` Now my other service (still with a Silverlight client) does NOT generate `Specified` properties. Now I don't care about 'tenets of good SOA'. I just want to get rid of these damn properties because in the context of what I'm doing I absolutely hate them. There has to be some difference between the two services - but I don't want to have to completely rip them apart to find out the difference. A similar question before had the answer 'you cant do it' - which is definitely not true because I have it - I just don't know what I did differently. Edit: I am now in a situation where I regenerate my Silverlight 4 proxy to my 3.5 WCF service (all on the same localhost machine) that sometimes I get 'Specified' properties and sometimes I don't. I no longer think (as I suspected originally) that this is due solely to some endpoint configuration or service level [attribute]. Theres certain triggers in the message itself that cause Specified to be generated (or not). There may be many factors involved or it may be something very simple.