2013-11-14 71 views
2

我寫了WCF服務,它有List<String>作爲數據成員。我將數據添加到我的service.svc列表中,但我沒有在我的列表中找到任何數據。這是我的數據合同類。WCF服務中的列表數據成員

[datacontract] 
public class CompositeType 
    { 
     //here are data members 
     public List<String> strlist ; 
     [DataMember] 
     public List<String> StrList 
     { 
      get { return strlist; } 
      set { strlist = value; } 

     } 
    } 

在我service.svc

public void myservice(CompositeType com) 
{ 
comtype.StrList.add("abc"); 
System.IO.File.WriteAllText(@"E:\\for1.txt", comType.StrList[0]); 
} 

但沒有數據在文件中找到。請幫幫我。我搜查了很多,但無法追查該名單成員有什麼問題。

我在其他應用程序中使用了此服務。

+3

參數'com' - 也'列表'沒有'add'方法 –

+0

列表確實有添加方法http://msdn.microsoft.com/en-us/library/3wcytfd1(v=vs.110) .aspx – user2991548

+0

ComType是我的錯誤。什麼是替代解決方案ADD lis t字符串。? – user2991548

回答

3

你必須標記爲後盾字段數據成員,而不是財產:

[DataContract] 
public class CompositeType 
    { 
     [DataMember] 
     public List<String> strlist ; 

     public List<String> StrList 
     { 
      get { return strlist; } 
      set { strlist = value; } 

     } 
    } 

//隨着列表

[DataContract] 
public class CompositeType 
    { 
     [DataMember] 
     public List<String> strlist = new List<String>(); 

     public List<String> StrList 
     { 
      get { return strlist; } 
      set { strlist = value; } 

     } 
    } 
在你的方法`myservice`你正在使用`comtype`而不是
+0

因爲用戶代碼未處理零點異常,所以面臨錯誤。我嘗試通過更改[DataMember] public List strlist = new List ();但仍然是我的例外解決..請幫助我.. – user2991548

+0

仍然我的例外沒有解決 – user2991548

+0

在你寫的文件中沒有數據的問題,現在你說的是NullRefException。巨大差距! :)請發佈有關例外的更多詳情。你也可以初始化strlist。我更新了我的帖子。 – flayn

相關問題