我正在为我的合同生成一个WCF代理。 契约包含实现接口的类。生成的代理上的 接口不见了。 所以我不能使用它。生成WCF代理到服务器接口
有没有办法在代理文件上以某种方式标记接口?
这是一个接触例如:
public interface IMyGeneralInterface
{
int? ID { get; set; }
}
[DataContract]
public abstract class EntityBase : IMyGeneralInterface
{
[DataMember]
public virtual int? ID { get; set; }
}
生成的代理将不包含任何定义,IMyGeneralInterface的,不会让我使用它一个客户端。
我该怎么办?
谢谢, 达尼
嗨马克, 我们使用了这种方法,但它使我们遇到了一些问题,因为我们通过WCF传递的所有集合都变成了数组(因此我们无法向它们添加任何东西)。 所以解决方案是使用生成的代理(它解决了这个问题),现在我正在将生成的工作人员从共享的DLL中分离出来,在这里我们使用接口。 我在想,我们可以将它们保留在共享的dll中(因为我们不需要互操作性,并且尝试在同一个解决方案中混合生成的代理文件和共享dll – Dani 2009-10-11 11:59:29
那么,这是另一回事:基本上,所有XML模式支持的“集合”都是数组 - 在XML模式中没有别的东西,但是您可以指定(当您创建代理时)想要放弃此限制并使用集合或通用列表 - 再次,丢失一些互操作性,但是让纯.NET开发商更容易一些。查看“添加服务引用”屏幕上的各种选项(或“svcutil.exe”的命令行选项) – 2009-10-11 12:02:11