.NET Framework 4.7.2
dotnet add package LocatR --version
NuGet\Install-Package LocatR -Version
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LocatR" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LocatR --version
#r "nuget: LocatR,"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install LocatR as a Cake Addin
#addin nuget:?package=LocatR&version=

// Install LocatR as a Cake Tool
#tool nuget:?package=LocatR&version=


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" });
Product Versions
.NET Framework net472 net48 net481
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated 217 11/13/2022 232 11/13/2022 201 11/13/2022 225 11/13/2022 208 11/11/2022 196 11/11/2022 222 11/11/2022
1.0.1 263 9/16/2022 279 9/15/2022 274 9/15/2022 301 9/14/2022
1.0.0 359 9/14/2022

Summary of changes made in this release of the package.