将现有接口重用为WCF接口。合同装修会影响现有的应用吗?有什么危害吗?

时间:2015-04-11 12:17:07

标签: c# .net wcf interface

我有一个场景,我有一个现有的界面,我希望WCF服务实现。

主要目标是允许我们使用依赖注入,以便可以将实现注入为WCF服务或本地程序集。

E.g。

现有界面

public interface IStuffDoer
{
   bool DoStuff(string parameter);
}

现在我需要一个IStuffDoer类型的WCF服务合约。我能想到的一个选择是

[ServiceContract]
public interface IStuffDoerService: IStuffDoer
{

}

但请注意,现有界面的操作不是由[ServiceContract][OperationContract]属性修饰。


由于无法覆盖父接口方法签名,我唯一的选择(据我所知)是用WCF合约属性装饰原始接口,如下所示:

[ServiceContract]
public interface IStuffDoer
{
   [OperationContract]
   bool DoStuff(string parameter);
}

这样做有什么害处吗?

对现有的非WCF应用程序或正在使用该合同的影响是什么?

如果它以某种方式影响他们,那么什么是我最好的选择?

1 个答案:

答案 0 :(得分:2)

  

对现有的非WCF应用程序或正在使用该合同的影响是什么?

没有影响。它仍然是相同的界面。属性不会自行执行任何操作。您可以使用它们来装饰您的界面,并仍然将其用作“普通”界面。