我有一个方案,其中有一个现有接口,我想实现WCF服务。
主要目标是使我们能够使用依赖项注入,以便可以将实现作为WCF服务或本地程序集注入。
例如
现有界面
public interface IStuffDoer
{
bool DoStuff(string parameter);
}
现在,我需要类型的WCF服务合同IStuffDoer
。我能想到的一个选择是
[ServiceContract]
public interface IStuffDoerService: IStuffDoer
{
}
但是请注意,现有接口没有用[ServiceContract]
或[OperationContract]
属性修饰其操作。
由于无法覆盖父接口方法签名,因此我唯一的选择(据我所知)是使用WCF合同属性装饰原始接口,如下所示:
[ServiceContract]
public interface IStuffDoer
{
[OperationContract]
bool DoStuff(string parameter);
}
这样做有什么危害吗?
对现有的非WCF应用程序或使用该合同的应用程序有什么影响?
如果以某种方式影响到他们,那么我最好的选择是什么?
对现有的非WCF应用程序或使用该合同的应用程序有什么影响?
没有影响。仍然是相同的界面。属性本身不会做任何事情。您可以使用它们来装饰您的界面,并且仍将其用作“常规”界面。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句