[Изменить]: Я добавил TokenType перечисление, то, что вызвало весь вопрос ...WCF объект в DataContract
У меня есть проблема с использованием WCF и, к сожалению, я не нашел никакой полезной помощи. Я создаю приложение на основе WCF. Когда сервер отвечает на запрос клиента, я хочу, чтобы отправить обратно следующий класс:
[DataContract]
public enum TokenType
{
User,
Device
}
[DataContract]
public class AuthenticationResponse
{
[DataMember]
public LogonStatus Status { get; set; }
[DataMember]
public AccessToken Token { get; set; }
}
[DataContract]
public struct AccessToken
{
[DataMember]
public string TokenID
{
get;
set;
}
[DataMember]
public TokenType Type
{
get;
set;
}
[DataMember]
public string Uid
{
get;
set;
}
[DataMember]
public string Name
{
get;
set;
}
[DataMember]
public DateTime ExpirationTime
{
get;
set;
}
[DataMember]
public DateTime GenerationTime
{
get;
set;
}
[DataMember]
public bool IsExpired
{
get
{
return DateTime.Now > this.ExpirationTime;
}
}
}
Когда я посылаю AuthenticationResponse обратно клиенту, он всегда терпит неудачу. My qusetion: Есть ли возможность использовать объекты класса/структуры в объекте DataContract или мне нужно заменить объект AccessToken базовыми типами (например, строкой) в объекте AuthenticationResponse?
Спасибо всем, что вам нужно! С наилучшими пожеланиями
Габор
Какое «провал»? – stuartd
Передача данных от сервера к клиенту завершается с ошибкой до [DataMember] открытый токен доступаToken {get; задавать; } не является нулевым в классе аутентификацииResponse. Если он имеет значение null или изменен с помощью свойств типа строки, все работает хорошо. –