我不确定如何组织我的项目。我有一个包含多种服务的解决方案。例如。购物车,UrlShortener。然而,AppHostBase 只能接受一个程序集。如果将 Interface 程序集与 ServiceModel 程序集分离,我还对关注点分离和未来用例感兴趣。如果我的域模型需要了解接口(可能是客户端要求?),那么至少命名空间不会被不必要的 DTO 等淹没。
所以现在我认为它是这样的,每个都是单独的程序集/项目:
MyApp.RestServices.ShoppingCartService.Interface
MyApp.RestServices.ShoppingCartService.ServiceModel
MyApp.RestServices.UrlShorteningService.Interface
MyApp.RestServices.UrlShorteningService.ServiceModel
我很困惑在注册 AppHost 时只能配置一个程序集。
public AppHost() : base("MyApp's REST services",
typeof(MyApp.RestServices.ShoppingCartService.Interface).Assembly) {}
就我而言,我想要不同服务的单独程序集,例如。短网址服务,购物车服务。我不想将它们全部放在一个项目中。
public AppHost() : base("MyApp's REST services",
new[]{
typeof(MyApp.RestServices.ShoppingCartService.Interface).Assembly,
typeof(MyApp.RestServices.Interface.ShoppingCartService).Assembly}
) {}
我真的很新,所以我可能会遗漏很多东西,但我确实希望在我继续学习的过程中长期保持正确。