Getting Started
Installation
Install via NuGet Package Manager:
dotnet add package MediaThor
Or add to your .csproj
:
<PackageReference Include="MediaThor" Version="1.0.0" />
Usage
Register MediaThor in your DI container
using MediaThor;
using System.Reflection;
var builder = WebApplication.CreateBuilder(args);
MediaThor.Mediator.UseMediatR(Assembly.GetExecutingAssembly(), builder.Services);
Send a Request
public class MyRequest : IRequest { }
public class MyResponse : IResponse<MyRequest> { }
public class MyHandler : IHandler<MyRequest, MyResponse>
{
public Task<MyResponse> Run(MyRequest request)
{
// Handle request
return Task.FromResult(new MyResponse());
}
}
// Usage
var mediator = serviceProvider.GetRequiredService<IMediator>();
var response = await mediator.SendAsync<MyRequest, MyResponse>(new MyRequest());
API Reference
IMediator
Task<TResponse> SendAsync<TRequest, TResponse>(TRequest request)
TResponse Send<TRequest, TResponse>(TRequest request)
IHandler<TRequest, TResponse>
Task<TResponse> Run(TRequest request)
IRequest / IResponse<TRequest>
- Marker interfaces for requests and responses.
License
MediaThor is licensed under the MIT License.