servicestack,C#,Asp.net,servicestack" /> servicestack,C#,Asp.net,servicestack" />

C# 多个服务的多个程序集

C# 多个服务的多个程序集,c#,asp.net,servicestack,C#,Asp.net,servicestack,我不知道如何组织我的项目。我有一个多服务的解决方案。购物车,购物车。但是,AppHostBase只能接受一个程序集。我还对关注点的分离感兴趣,如果将接口程序集与ServiceModel程序集分离,我还对将来的用例感兴趣。如果我的域模型需要了解接口(可能是客户端需求?),那么至少名称空间不会被不必要的DTO等淹没 因此,现在我将其视为单独的组件/项目: MyApp.RestServices.ShoppingCartService.Interface MyApp.RestServices.Shopp

我不知道如何组织我的项目。我有一个多服务的解决方案。购物车,购物车。但是,AppHostBase只能接受一个程序集。我还对关注点的分离感兴趣,如果将接口程序集与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}
) {}

我真的很新,所以我可能会错过很多东西,但我确实希望在继续学习的过程中长期保持正确。

ServiceStack在中接受一个
params程序集[]
,即:

这意味着您可以告诉ServiceStack使用以下命令扫描多个程序集:

public AppHost() : base("MyApp's REST services", 
      typeof(MyApp.RestServices.ShoppingCartService.Interface).Assembly,
      typeof(MyApp.RestServices.Interface.ShoppingCartService).Assembly) {...}
public AppHost() : base("MyApp's REST services", 
      typeof(MyApp.RestServices.ShoppingCartService.Interface).Assembly,
      typeof(MyApp.RestServices.Interface.ShoppingCartService).Assembly) {...}