带版本的WCF服务

时间:2011-08-16 08:22:36

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

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

这是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;
            }
        }
}

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

1 个答案:

答案 0 :(得分:2)

WCF版本控制不容易解释。

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

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

Michele Leroux Bustamante在这个问题上写了两篇很棒的系列文章,请点击这里查看:

阅读WCF版本控制策略的另一个重要资源是MSDN:

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