Tôi đang phát xung quanh với ASP.NET Core mới và hiện đang tạo API mà tôi muốn gọi từ giao diện người dùng JavaScript.MediatR với ASP.NET Core DI
Tôi muốn sử dụng mẫu hòa giải để giảm khớp nối và tôi đã tìm thấy Thư viện MediatR từ Jimmy Bogard.
Vấn đề của tôi bao gồm việc kết nối nó bằng cách sử dụng bản dựng DI, tôi đã thử xem examples, nhưng không thể thấy cách nó liên kết với phương thức ConfigureServices trong lớp khởi động.
Có ai có thông tin chi tiết nào không?
UPDATE: Tôi đã nhận nó làm việc, từ phương pháp ConfigureService tôi:
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 vẻ khá đơn giản với tôi, nhưng đối với việc quét lắp ráp, bạn cần gói Scrutor này (ASP.NET Core's DI không đi kèm với chức năng quét lắp ráp và không có kế hoạch gửi nó) – Tseng
Bạn sẽ thêm nó vào phương thức ConfigureService như thế nào? 'services.AddTransient (typeof (IMediator), BuildMediator(). GetType());' – Nyegaard
Bạn không muốn đăng ký theo cách đó, Transient nghĩa là nó sẽ được tạo mỗi khi phụ thuộc được giải quyết. 'services.AddScoped (p => t => p.GetRequiredService (t));' và 'services.AddScoped (p => t => p.GetRequiredServices (t));' là các phương thức của nhà máy được tiêm vào trung gian và giải quyết các thông báo (đa) hoặc yêu cầu (đơn) –
Tseng