2016-02-26 42 views
0

我正在開發一個wcf web服務。它在單元測試期間正常工作。幾天前,我改變了默認命名空間從'tempuri',如此鏈接中所述:http://blog.rebuildall.net/2010/11/10/wcf_service_namespaces並且還向數據成員添加了'訂單'屬性,即請求和響應類別的[DataMember(Order = 1)]。現在在一個OperationContract中,即使在客戶端傳遞值,一些參數在服務器端仍被讀爲null。我還注意到,幾個OperationContracts的響應在這些標籤中應該有值時顯示空標籤。當它到達服務時,wcf請求參數爲空

在搜索時,我發現博客有類似的問題,但是造成他們問題的原因是客戶端和服務器端的參數名稱不匹配。鏈接到博客是:http://blog.functionalfun.net/2009/09/if-your-wcf-service-is-unexpectedly.html

任何人都可以在這裏指導我。在此先感謝

+1

請張貼一些相關的代碼來複制問題。 –

回答

0

我不知道是否有人設法得到這個錯誤,我做的方式,但是這是問題:

我這樣定義我下面的類:

public class CompositeType 
    { 
     private bool boolValue; 
     private string stringValue = ""; 

     [DataMember] 
     public bool BoolValue 
     { 
      get { return boolValue; } 
      set { boolValue = value; } 
     } 

     [DataMember] 
     public string StringValue 
     { 
      get { return stringValue; } 
      set { stringValue = value; } 
     } 
    } 

通過消除那些變量聲明和使用自動屬性語法,我能夠解決這個問題。即像:

public class CompositeType 
     {  

      [DataMember] 
      public bool BoolValue 
      { 
       get; 
       set; 
      } 

      [DataMember] 
      public string StringValue 
      { 
       get; 
       set; 
      } 
     } 
+0

我不知道是什麼原因造成了這個問題,但我計劃瞭解一下。如果我得到任何東西,將在這裏發佈 – dlearner