У меня есть служба WCF для внутренних клиентов - у нас есть контроль над всеми клиентами. Поэтому мы будем использовать библиотеку контрактов данных, чтобы отрицать необходимость генерации прокси. Я хотел бы использовать некоторые свойства readonly и иметь некоторые datacontracts без конструкторов по умолчанию. Спасибо за вашу помощь ...WCF DataContracts
12
A
ответ
24
Свойства Readonly прекрасны, если вы помечаете поле (не-readonly) как [DataMember], а не свойство. В отличие от XmlSerializer, IIRC DataContractSerializer не использует по умолчанию ctor - он использует отдельный механизм отражения для создания неинициализированных экземпляров. За исключением монофонического «Olive» (порт WCF), где он делает, используйте значение по умолчанию ctor (на данный момент или в какой-то момент в недавнем прошлом).
Пример:
using System;
using System.IO;
using System.Runtime.Serialization;
[DataContract]
class Foo
{
[DataMember(Name="Bar")]
private string bar;
public string Bar { get { return bar; } }
public Foo(string bar) { this.bar = bar; }
}
static class Program
{
static void Main()
{
DataContractSerializer dcs = new DataContractSerializer(typeof(Foo));
MemoryStream ms = new MemoryStream();
Foo orig = new Foo("abc");
dcs.WriteObject(ms, orig);
ms.Position = 0;
Foo clone = (Foo)dcs.ReadObject(ms);
Console.WriteLine(clone.Bar);
}
}
Смежные вопросы
- 1. WCF Перемещение DataContracts
- 2. WCF Rest Mutliple DataContracts Wrapped
- 3. WCF Business Objects или DataContracts
- 4. Именование общих DataContracts в WCF
- 5. Что такое DataContracts в WCF?
- 6. Перечисление, DataContracts и WCF вопрос
- 7. Создание WCF DataContracts динамически из кода
- 8. WCF DataContracts и базовые структуры данных
- 9. WCF: Принудительное равенство DataContracts с обеих сторон
- 10. Передача атрибутов в DataContracts в WCF
- 11. Выявление объектов (DataContracts), которые могут не использоваться непосредственно службой WCF?
- 12. Служба WCF с DataContracts VS Объект Entity Framework Объекты Объект
- 13. Группа возврата WCF/REST, связанная с тегами, исправить datacontracts & datamembers
- 14. Как указать значения по умолчанию для отсутствующих членов wcf DataContracts?
- 15. Найти все ссылки с WCF OperationContract и DataContracts
- 16. Как отправить XML-файл через WCF DataContracts/MessageContracts?
- 17. Могу ли я использовать datacontracts в WCF для потоковой передачи
- 18. Должны ли WCF DataContracts быть значениями или ссылочными типами?
- 19. База данных EF first & WCF: Как насчет DataContracts?
- 20. Сопоставление объектов EFcomplex в WCF DataContracts с использованием AutoMapper
- 21. Datacontracts свойство getter работает дважды
- 22. XmlTextAttribute эквивалент в DataContracts
- 23. Сериализация/десериализация списка DataContracts
- 24. Использование INotifyChanged на DataContracts
- 25. DataContracts with behavior
- 26. Служба WCF внутри службы WCF. Что я могу сделать с DataContracts?
- 27. Как настроить приложение для использования DataContracts?
- 28. Как работают DataContracts? - Deserialize Json
- 29. WCF DataContracts - Как я могу использовать один DataContract со сложным объектом для служб WCF SOAP и REST?
- 30. Есть ли ограничение на количество DataContracts, которое может использоваться службой WCF?
Хорошо, что имеет смысл. Я не мог найти документацию по этому поводу и думал, что прочитал, что необходим конструктор по умолчанию. Это отлично работает! Спасибо ... – 2008-10-05 21:36:41