6

我目前正在使用不符合开发中应用程序命名标准的旧版 WCF 服务。现在,在针对 REST 服务进行开发时,我自己创建模型时,重命名属性非常容易,如下所示:

[DataContract]
public class SomeModel
{
    [DataMember(Name = "id")]
    public string Id { get; set; }

    // ...
}

但是使用 WCF 服务它会生成模型,我不想编辑生成的文件,因为当某人/事物再次触发代码生成时,我的所有更改都会丢失。那么在使用 WCF 服务时如何实现相同的目标呢?

4

3 回答 3

3
How about adapter pattern?

这将允许您在应用程序中使用您的类对象 myClass,而当它被传递给服务时,您可以拥有自动生成的暴露 ClaSs。

于 2013-08-21T07:19:32.507 回答
2

如果您查看生成的代码,您会发现 DataContract 类是部分的。

您可以将具有相同部分类定义的文件添加到项目中,并使用正确的名称创建包装器属性。

于 2013-08-21T07:26:03.447 回答
0

在我看来,使用代理生成器完全是在浪费时间:您要做的是手动管理您的类,并让其他东西以一种不会影响您并且能够适应变化的方式处理底层实现细节。我们在当前项目中这样做的方式是使用城堡动态代理将调用调度到通道工厂。

我们已经完成了类似http://www.planetgeek.ch/2010/10/13/dynamic-proxy-for-wcf-with-castle-dynamicproxy/的操作,并且发现它运行良好。

于 2013-08-21T07:25:33.443 回答