Edition 0 Updated to asp. Net core 0


foreach ( var item  in



Yüklə 11,82 Mb.
Pdf görüntüsü
səhifə247/288
tarix12.07.2023
ölçüsü11,82 Mb.
#136458
1   ...   243   244   245   246   247   248   249   250   ...   288
foreach
(
var
item 
in
message.
OrderItems


order.
AddOrderItem
(item.
ProductId
, item.
ProductName
, item.
UnitPrice

item.
Discount
, item.
PictureUrl
, item.
Units
); 

_logger.
LogInformation
(
"----- Creating Order - Order: {@Order}"
, order); 
_orderRepository.
Add
(order); 
return
await _orderRepository.
UnitOfWork
.
SaveEntitiesAsync
(cancellationToken); 


Register the types used by MediatR 
In order for MediatR to be aware of your command handler classes, you need to register the mediator 
classes and the command handler classes in your IoC container. By default, MediatR uses Autofac as 
the IoC container, but you can also use the built-in ASP.NET Core IoC container or any other container 
supported by MediatR. 
The following code shows how to register Mediator’s types and
commands when using Autofac 
modules. 
public
class
MediatorModule : Autofac.
Module

protected
override
void
Load
(ContainerBuilder builder) 

builder.
RegisterAssemblyTypes
(
typeof
(IMediator).
GetTypeInfo
().
Assembly

.
AsImplementedInterfaces
(); 
// Register all the Command classes (they implement IRequestHandler)
// in assembly holding the Commands
builder.
RegisterAssemblyTypes
(
typeof
(CreateOrderCommand).
GetTypeInfo
().
Assembly

.
AsClosedTypesOf
(
typeof
(IRequestHandler<,>)); 


288 
CHAPTER 6 | Tackle Business Complexity in a Microservice with DDD and CQRS Patterns 
// Other types registration
//...


This is where “the magic happens” with MediatR.
As each command handler implements the generic 
IRequestHandler
interface, when you register 
the assemblies using 
RegisteredAssemblyTypes
method all the types marked as 
IRequestHandler
also gets registered with their 
Commands
. For example: 

Yüklə 11,82 Mb.

Dostları ilə paylaş:
1   ...   243   244   245   246   247   248   249   250   ...   288




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin