如何防止在WCF客户端中生成“指定”属性?

我有两个.NET 3.5 WCF服务与VS2008构建.

我在Silverlight中有两个WCF客户机来使用这些服务.使用“添加服务引用”生成客户端.我正在使用Silverlight 4.

其中一个代理是通过每个属性的“指定”属性生成的.这是我的服务方法的’message-in’类

// properties are generated for each of these fields
    private long customerProfileIdField;        
    private bool customerProfileIdFieldSpecified;        
    private bool testEnvField;        
    private bool testEnvFieldSpecified;

现在我的其他服务(仍然使用Silverlight客户端)不生成指定的属性.

现在我不在乎“SOA的良知”.我只想摆脱这些死亡财产,因为在我正在做的事情上,我绝对讨厌他们.

两个服务之间必须有所区别 – 但是我不希望将它们分开,以便找出差异.

之前的similar question有答案’you cant do it‘ – 这绝对不是真的,因为我有 – 我只是不知道我做了什么不同.

编辑:我现在处于将我的Silverlight 4代理重新生成到我的3.5 WCF服务(所有在同一本地机器上)的情况,有时我得到“指定”属性,有时我不会.我不再认为(就像我原来怀疑的那样),这仅仅是由于某些端点配置或服务级别[属性].在消息本身中的某些触发器导致指定生成(或不).可能涉及许多因素,或者可能是非常简单的.

解决方法

请尝试在您的WCF服务中声明属性

[DataMember(IsRequired=true)]
public bool testEnvField { get; set; }

IsRequired = true将否定对testEnvFieldSpecified属性的需要

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...