wcf возвращают XmlDocument? [дубликат]

Если строки предназначены для просмотра пользователями класса, поместите их в класс. В противном случае скройте их в безымянном пространстве имен файла реализации.

5
задан Cody Gray 7 August 2017 в 12:38
поделиться

3 ответа

Если вы используете .Net 3.5, вы можете попробовать вернуть вместо него XElement - это реализует IXmlSerializable , который является недостающим ингредиентом, необходимым для его создания. работать с DataContractSerializer.

10
ответ дан 18 December 2019 в 05:55
поделиться

DataContractSerializer может сериализовать экземпляры XmlElement. Поэтому просто верните свойство DocumentElement вашего экземпляра XmlDocument. См .: MSDN .

3
ответ дан 18 December 2019 в 05:55
поделиться

Я бы посоветовал загрузить исходный код CSLA и образцы (особенно образец ProjectTracker) и взглянуть на код. Для меня лучший способ быстро чему-то научиться - это что-то построить.

Чтобы начать писать объекты, начните с создания инфраструктуры портала данных.

например, вот базовый объект CSLA:

[Serializable()]
public class Widget : Csla.BusinessBase<Widget>
{
    private Widget()
    {
    }
}

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

[Serializable()]
public class Widget : Csla.BusinessBase<Widget>
{
    private Widget()
    {
    }

    public static Widget Fetch(int id)
    {
        return Csla.DataPortal.Fetch<Widget>(new Csla.SingleCriteria<Widget, int>(id));
    }
}

Следующим шагом будет создание метода портала данных, который создаст портал данных CSLA.

[Serializable()]
public class Widget : Csla.BusinessBase<Widget>
{
    private Widget()
    {
    }

    public static Widget Fetch(int id)
    {
        return Csla.DataPortal.Fetch<Widget>(new Csla.SingleCriteria<Widget, int>(id));
    }

    private void DataPortal_Fetch(Csla.SingleCriteria<Widget, int> criteria)
    {
        // Connect to database (or use ORM) and populate the object here based on the criteria.Value which is the id value
    }
}

После этого следующим шагом будет определение ваш бизнес-объект со свойствами и т. д.

2
ответ дан 18 December 2019 в 05:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: