【问题标题】:WCF Service with version带有版本的 WCF 服务
【发布时间】:2011-08-16 08:22:35
【问题描述】:

我是使用 WCF 服务的新手,我正在使用 ADO.Net 实体数据模型,将其命名为 -> DogModel.edmx。 Dogs 表有 ID、Name 和 Age。它工作正常。但是,我想了解版本背后的概念。

这是 IDog.cs 的代码,

[ServiceContract]
    public interface IDog
    {
        [OperationContract]
        Author GetAuthorById(string authorId);


    }


[DataContract]
    public class DogType
    {
        bool boolValue = true;
        int id = 0;
        string name = string.Empty;
        int age = 0;

        [DataMember]
        public int ID
        {
            get { return id; }
            set { id = value; }
        }

        [DataMember]
        public string NAME
        {
            get { return name; }
            set { name = value; }
        }

        [DataMember]
        public int AGE
        {
            get { return age; }
            set { age = value; }
        }
    }

这是我放在 Dog.cs 上的代码,

public class Dog : IDog
    {
        public Author GetAuthorById(string dogId)
        {
            using (DogEntities pubs = new DogEntities())
            {
                DogType d = new DogType();
                var dog = (from p in pubs.Dogs
                              where p.Id == dogId
                              select p).First();

                d.ID = author.ID;
                d.NAME = author.Name;
                d.AGE = author.Age;

                return d;
            }
        }
}

“如果我制作了新版本的服务,那么我只需要公开一个新的结尾”。什么意思,请解释一下?

【问题讨论】:

    标签: asp.net wcf webforms ado.net-entity-data-model


    【解决方案1】:

    WCF 版本控制并不容易用几行来解释。

    您可以采取几种不同的路线,具体取决于您对服务所做的更改,即:

    • 非严格版本控制
    • 半严格版本控制
    • 严格的版本控制

    Michele Leroux Bustamante 就这个问题写了一篇很棒的两部分系列文章,在这里查看:

    另一个了解 WCF 版本控制策略的好资源是 MSDN:

    http://msdn.microsoft.com/en-us/library/ff384251.aspx

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    • 2014-08-02
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多