2013-11-14 16 views
2

데이터 멤버로 List<String> 인 WCF 서비스를 작성했습니다. 내 service.svc에있는 목록에 데이터를 추가하고 있지만 목록에 데이터가 없습니다. 다음은 데이터 계약 클래스입니다. 내 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; } 

     } 
    } 

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

그러나 데이터는 해당 파일에서 찾을 수 없습니다. 도와주세요. 나는 많은 것을 수색했으나 그 목록 회원의 잘못된 점을 추적 할 수 없었다.

그리고 다른 서비스에서이 서비스를 사용했습니다.

+3

목록으로 매개 변수'com' - 또한'List '에는'add' 메소드가 없습니다 –

+0

리스트 에는 add 메소드가 있습니다 http://msdn.microsoft.com/en-us/library/3wcytfd1(v=vs.110) .aspx – user2991548

+0

ComType은 제 실수입니다 .. ADIS리스에 대한 대안은 무엇입니까? 문자열의 t.? – user2991548

답변

3

당신은 DataMember를 같이 백업 필드를 표시 할 필요가 아닌 특성 :

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

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

     } 
    } 

// 당신은`comtype`를 사용하지 않는있다 myservice` 당신의 방법`에

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

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

     } 
    } 
+0

null 포인트 예외가 사용자 코드에 의해 처리되지 않으므로 오류가 발생합니다. [DataMember]를 변경하여 시도했습니다. public List strlist = new List (); 하지만 여전히 내 예외가 해결되었습니다 .. 제발 도와주세요 .. – user2991548

+0

아직 내 예외가 해결되지 않았습니다 – user2991548

+0

당신이 파일에 데이터가 없다고 쓴 질문에서, 지금 당신은 NullRefException 이야기하고 있습니다. 큰 차이! :) 예외에 대한 자세한 내용을 게시하십시오. 또한 strlist를 초기화 할 수 있습니다. 내 게시물을 업데이트했습니다. – flayn

관련 문제