Как открыть TimeSpan через службу данных WCF?

Я создаю службу данных WCF для своей базы данных встреч.

Я сохраняю встречу как DateTime с продолжительностью типа TimeSpan. Когда я пытаюсь получить доступ к моему сервису данных, я получаю следующую ошибку:

«Сервер обнаружил ошибку при обработке запроса. Сообщение об исключении: «Свойство« Длительность »для типа« Встреча » имеет тип« Время », который не является поддерживаемым примитивным типом». Дополнительные сведения см. В журналах сервера.

Любая идея, как я могу представить продолжительность времени и сделать ее доступной через мою службу данных WCF?


person retrodrone    schedule 07.04.2011    source источник


Ответы (2)


Я бы предложил предоставить новое свойство для сериализации (отмеченное DataMemberAttribute), которое использует свойство Ticks вашего исходного промежутка времени.

Например:

[DataMember("TheTimeSpanTicks")]
public long TheTimeSpanTicks
{
    get { return TheTimeSpan.Ticks; }
    set { TheTimeSpan = new TimeSpan(value); }
} 

Я не уверен, каковы будут требования к средствам доступа для сериализации. Возможно, вы могли бы использовать protected вместо public.

person Reddog    schedule 07.04.2011

Вы можете указать продолжительность в виде Ticks, TotalSeconds или какого-либо другого примитива, который можно вычислить до часов, минут и т. Д.?

person dgrogan    schedule 07.04.2011