2010-12-01 6 views
0

무엇이 잘못되었는지 이해할 수 없습니다. 실수 :WCF 서비스 및 일관성없는 액세스 가능성

//class in DLL  
[DataContract] 
public class Author 
{ 
    [DataMember] 
    private string FN, N, P; 
    [OperationContract] 
    public string GetFamilyName() 
    { 
     return FN; 
    } 
    [OperationContract] 
    public string Name() 
    { 
     return N; 
    } 
    [OperationContract] 
    public string Patronymic() 
    { 
     return P; 
    } 
    public Author(string familyName, string name, string patronymic) 
    { 
     FN = familyName; 
     N = name; 
     P = patronymic; 
    } 
} 
//in service 
public Author[] GetAuthorsList() 
    { 
     return DB.Singleton.GetAuthorsList().ToArray(); 
    } 
+0

이 클래스의 [DataMember를] 정의 속성은 개인 접근성 수준을 가지고 있다는 문제가되지 않는 일을해야합니까? 작성자 클래스 자체는 공개 된 위치입니다. –

+0

개인 속성은 클라이언트에서 공개됩니다. 아마도 construntor에 문제가있을 수 있습니까? – Artem

답변

1

왜 당신이 당신의 DataContract에서 [OperationContract를] 속성을 가질 않는다 "일관성 접근성 반환 유형은 'Library.ServiceReference1.Author []'방법 'Library.Funcs.GetAuthorsList()'보다 접근" 클래스, 나는 그 ServiceContract 데코 레이팅 클래스 외부 유효하지 않습니다 믿는? 대신 이러한 방법의 속성을 읽을 정의하면

[DataContract] 
public class Author 
{ 
    [DataMember] 
    private string FN, N, P; 

    public string FamilyName 
    { 
     get { return FN; } 
    } 

    public string Name 
    { 
     get { return N; } 
    } 

    public string Patronymic 
    { 
     get { return P; } 
    } 

    public Author(string familyName, string name, string patronymic) 
    { 
     FN = familyName; 
     N = name; 
     P = patronymic; 
    } 
}