カスタムドメインサービス内のリポジトリにアクセスしている状況があり、それらを注入することをお勧めします。Ria Services(Custom DomainService)を使用したNinject
I.e.
[EnableClientAccess()]
public class UserDomainService : DomainService
{
public IUserRepository repo;
public UserDomainService(IUserRepository userRepo)
: base()
{
repo = userRepo;
}
public IEnumerable<User> GetUsers()
{
return this.repo.GetUsers();
}
私は、多くのドメインサービスを持っていると私は不明だと、私のドメインサービスのすべてのための私のタイプのバインディングを保持し、カーネルにロードするためにNinjectモジュールを定義する場所です。私はこれをどうやって行うのかを実証するための簡単な例を探しています。
私は見たことがありませんが、もし見つけたら、私は興味があります。今のところ、Ninjectを使用するカスタムDomainServiceFactoryを作成できるはずです。 –
@Kyle McClellan - 私が考えた1つの選択肢は、NinjectHttpApplicationクラスを拡張し、Global.asaxのバインディングとモジュールを定義することでした。しかし、私は、これらのDomainServicesがどのように/どこで動作するかをよく理解していないと思います。 Global.asaxコードは正常に動作しましたが、カスタムドメインサービス内のIUserRepositoryは、上記のコードが実行されたときにもNULLです。私は彼らが同じ文脈の下で動作していないと私に言うと思いますか?私はあなたのアプローチを取って工場に行くかもしれないと思います... –