Skip to content

Kyrmasch/LocatR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LocatR

NuGet NuGet

Messaging with no dependencies.

Supports request/response, commands, queries synchronous and async with dispatching via C# generic variance.

Installing LocatR

⚠️ Important: Required NET.Framework 4.7.2 or later

You should install LocatR with NuGet:

Install-Package LocatR
Install-Package Unity.Mvc4

Using Contracts-Only Package

To reference only the contracts for LocatR, which includes:

  • IRequest

Basic usage

The following code demonstrates basic usage.

Add Global.asax.cs in Application_Start

using Unity;
using Unity.Injection;


var container = this.AddUnity();
container.RegisterType<ILocatR, LocatR.LocatR>(new InjectionConstructor(container, typeof(Startup).Assembly.GetTypes()));

Create Example Command

public class WtiteEventCommand: IRequest
{
    public string value { get; set; }
}

and CommandHandler

public class WtiteEventCommandHandler : IRequestHandler<WtiteEventCommand>
{
    Task IRequestHandler<WtiteEventCommand>.Handle(WtiteEventCommand request, CancellationToken cancellationToken)
    {
        return Task.CompletedTask;
    }
}

in Page

public partial class _Default : Page
{
    private readonly ILocatR _locator;
    
    public _Default(ILocatR locator)
    {
        _locator = locator;
    }

    protected async void Page_Load(object sender, EventArgs e)
    {
        await _locator.SendCommand(new WtiteEventCommand() { value = "Hello World" });
    }
}

Releases

No releases published

Packages

 
 
 

Languages