プロジェクトの編成方法がわかりません。複数のサービスを備えたソリューションがあります。例えば。ショッピングカート、UrlShortener。ただし、AppHostBase は 1 つのアセンブリしか使用できません。インターフェイス アセンブリを ServiceModel アセンブリから分離する場合の懸念の分離と、将来のユース ケースにも関心があります。私のドメイン モデルがインターフェイス (おそらくクライアントの要件) について知る必要がある場合、少なくとも名前空間が不要な DTO などであふれないようにする必要があります。
だから今、私はそれをそのように見ており、それぞれが別々のアセンブリ/プロジェクトです:
MyApp.RestServices.ShoppingCartService.Interface
MyApp.RestServices.ShoppingCartService.ServiceModel
MyApp.RestServices.UrlShorteningService.Interface
MyApp.RestServices.UrlShorteningService.ServiceModel
AppHost を登録するときに 1 つのアセンブリしか構成できないという事実に混乱しています。
public AppHost() : base("MyApp's REST services",
typeof(MyApp.RestServices.ShoppingCartService.Interface).Assembly) {}
私の場合、さまざまなサービス用に個別のアセンブリが必要です。ショートURLサービス、ショッピングカートサービス。それらすべてを 1 つのプロジェクトに入れる必要はありません。
public AppHost() : base("MyApp's REST services",
new[]{
typeof(MyApp.RestServices.ShoppingCartService.Interface).Assembly,
typeof(MyApp.RestServices.Interface.ShoppingCartService).Assembly}
) {}
私は本当に新しいので、見落としていることがたくさんありますが、学び続けているので、長期的に正しくしたいと思っています.