创建由svcutil / datacontractly生成的共享数据传输类,并在WCF Web编程模型中使用

时间:2011-03-01 13:23:33

标签: wcf web-services xsd svcutil.exe

我正在创建一组Web服务,它们共享一些常见的xml定义的数据元素。 我想将这些实体分成公共模式,服务1特定模式,服务2特定模式等......服务特定模式将引用公共模式。一世 想要使用svcutil / datacontractonly生成可用于使用WCF Web编程模型创建和序列化这些对象的类。我遇到的问题是 当我将公共模式导入服务特定模式时,公共模式实体类包含在为特定于服务的类生成的代码中。这导致 稍后当单个客户端尝试将生成的实体类用于两个使用公共模式实体的服务时,编译错误。反正有没有让svcutil只在生成的代码中包含服务特定的实体?我只想拥有一个通用的dll,其中包含服务可能引用的通用模式实体。

1 个答案:

答案 0 :(得分:0)

我认为这是你需要的(在svcutil选项上)

/参考:

指定程序集中的引用类型。生成客户端时,使用此选项指定可能包含表示要导入的元数据的类型的程序集。

您无法使用此开关指定消息协定和XmlSerializer类型。

如果引用了DateTimeOffset,则使用此类型而不是生成新类型。如果应用程序是使用.NET Framework 3.5编写的,则SvcUtil.exe会自动引用DateTimeOffset。

简表:/ r

here is where I found it