私は新しいASP.NETコアを使いこなしています。現在、JavaScriptのフロントエンドから呼び出すAPIを作成しています。ASP.NET Coreを使用したMediatR DI
カップリングを減らすためにメディエーターパターンを使用したいと思いますが、ジミーボガードのライブラリMediatRが見つかりました。
私の問題は、DIのビルドを使用して配線しています。私はexamplesを見てみましたが、起動クラスのConfigureServicesメソッドにどのようにバインドするのか分かりません。
誰にも洞察はありますか?
UPDATE:、
services.AddScoped<SingleInstanceFactory>(p => t => p.GetRequiredService(t));
services.Scan(scan => scan
.FromAssembliesOf(typeof(IMediator), typeof(MyHandler.Handler))
.AddClasses()
.AsImplementedInterfaces());
https://github.com/jbogard/MediatR/blob/master/samples/MediatR.Examples.AspNetCore/Program.csはかなりいるようです私には、しかし、アセンブリのための簡単なあなたは、このScrutorパッケージ(ASP.NETコアのDIは、アセンブリスキャンが付属していませんし、それを出荷する予定はありません) – Tseng
どのようにConfigureServiceメソッドにそれを追加しますが必要なスキャン? 'services.AddTransient(typeof演算(IMediator)、BuildMediator()メソッドGetType());あなたはそのように登録したくない' – Nyegaard
は、一時はそれが依存関係が解決されるたびに作成されることを意味します。 'services.AddScoped(P => T => p.GetRequiredService(T));'と 'services.AddScoped (P => T => p.GetRequiredServices(T));'あるファクトリメソッド –
Tseng