繁体   English   中英

最佳实践:您如何正确地将合同暴露于与MEF一起使用的外部服务?

[英]Best Practice: How do you properly expose your contract to an external service for use with MEF?

基本上,我的Client.exe项目中包含以下类:

Client.exe项目:Foo.cs

public class Foo
{
    [Import(typeof(IBarService))
    private IBarService MyBarService { get; set; }

    ...
}

CoolBarService.dll项目:CoolBarService.cs

[Export(typeof(IBarService))]
public class CoolBarService : IBarService
{
    public int GetBar() { ... }
}

IBarService去哪里? 当前,我将其放入自己的项目类库中,然后两个项目都将其引用,但是我不确定这是否是最佳实践。 如果我只是将IBarService留在客户端应用程序中,则CoolBarService项目将无法编译,因为它不知道IBarService是什么(除非我将相同的代码复制到其中)。

ServiceContracts.dll项目:IBarService.cs

public interface IBarService
{
    int GetBar();
}

在这种情况下,听起来您确实想将合同放在单独的合同程序集中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM