Skip to content

Instantly share code, notes, and snippets.

@gistlyn
Last active August 4, 2024 03:27
Show Gist options
  • Save gistlyn/38e9791b920ed2c928e58fd08843a235 to your computer and use it in GitHub Desktop.
Save gistlyn/38e9791b920ed2c928e58fd08843a235 to your computer and use it in GitHub Desktop.
Use RabbitMQ
dotnet add package ServiceStack.RabbitMq
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using ServiceStack;
using ServiceStack.Messaging;
using ServiceStack.RabbitMq;
[assembly: HostingStartup(typeof(MyApp.ConfigureMq))]
namespace MyApp;
/**
Register Services you want available via MQ in your AppHost, e.g:
var mqServer = appHost.Resolve<IMessageService>();
mqServer.RegisterHandler<MyRequest>(ExecuteMessage);
*/
public class ConfigureMq : IHostingStartup
{
public void Configure(IWebHostBuilder builder) => builder
.ConfigureServices((context, services) => {
services.AddSingleton<IMessageService>(c =>
new RabbitMqServer(context.Configuration.GetConnectionString("RabbitMq") ?? "localhost:5672"));
})
.ConfigureAppHost(afterAppHostInit: appHost => {
appHost.Resolve<IMessageService>().Start();
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment