我有两个使用 VS2008 构建的 .NET 3.5 WCF 服务。
我在 Silverlight 中有两个 WCF 客户端来使用这些服务。客户端是使用“添加服务参考”生成的。我正在使用 Silverlight 4。
其中一个代理是使用Specified
每个属性的属性生成的。这是我的服务方法的“消息输入”类:
// properties are generated for each of these fields
private long customerProfileIdField;
private bool customerProfileIdFieldSpecified;
private bool testEnvField;
private bool testEnvFieldSpecified;
现在我的其他服务(仍然使用 Silverlight 客户端)不会生成Specified
属性。
现在我不关心“良好 SOA 的原则”。我只是想摆脱这些该死的属性,因为在我正在做的事情的背景下,我绝对讨厌它们。
这两种服务之间肯定存在一些差异——但我不想完全拆开它们来找出差异。
之前的一个类似问题的答案是“你不能这样做”——这绝对不是真的,因为我有——我只是不知道我做了什么不同的事情。
编辑:我现在的情况是,我将 Silverlight 4 代理重新生成到我的 3.5 WCF 服务(都在同一台 localhost 机器上),有时我得到“指定”属性,有时我没有。我不再认为(正如我最初怀疑的那样)这仅仅是由于某些端点配置或服务级别 [属性]。消息本身中有某些触发器会导致生成(或不生成)Specified。可能涉及许多因素,也可能非常简单。