我有兩個使用VS2008構建的.NET 3.5 WCF服務。如何防止在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的原則'。我只是想擺脫這些該死的財產,因爲在我所做的事情背景下,我絕對討厭他們。
這兩項服務之間必定存在一些差異 - 但我不想完全撕裂它們以找出差異。
A similar question之前有答案'you cant do it' - 這絕對不是真的,因爲我擁有它 - 我只是不知道我做了什麼不同。
編輯:我現在處於一種情況,我重新生成我的Silverlight 4代理到我的3.5 WCF服務(全部在同一本地主機上),有時會得到'指定'屬性,有時我不會。我不再認爲(正如我原先所懷疑的),這僅僅是由於某些端點配置或服務級別[屬性]。在消息本身中導致指定被生成(或不)的某些觸發器。可能涉及很多因素,或者可能很簡單。
我居然有3個服務未創建指定的屬性。只有第四個! – 2010-01-12 02:03:30
添加'[XMLSerializerFormat]'到您的服務的屬性:檢查到這個[answer](http://stackoverflow.com/questions/13396190/wcf-service-method-arguments-bool-specified) – 2013-01-21 21:52:41