-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathProgram.cs
More file actions
27 lines (23 loc) · 1003 Bytes
/
Program.cs
File metadata and controls
27 lines (23 loc) · 1003 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System.Net;
var builder = WebApplication.CreateBuilder();
builder.Services.AddServiceModelServices();
builder.Services.AddQueueTransport();
builder.Services.AddServiceModelMetadata();
builder.Services.AddSingleton<IServiceBehavior, UseRequestHeadersForMetadataAddressBehavior>();
var app = builder.Build();
var rabbitMqHostUri = new Uri("net.amqp://HOST:PORT/amq.direct/QUEUE_NAME#ROUTING_KEY");
var credentials = new NetworkCredential(ConnectionFactory.DefaultUser, ConnectionFactory.DefaultPass);
app.UseServiceModel(serviceBuilder =>
{
serviceBuilder.AddService<EchoService>();
serviceBuilder.AddServiceEndpoint<EchoService, IEchoService>(
new RabbitMqBinding
{
Credentials = credentials,
QueueConfiguration = new QuorumQueueConfiguration()
},
rabbitMqHostUri);
var serviceMetadataBehavior = app.Services.GetRequiredService<ServiceMetadataBehavior>();
serviceMetadataBehavior.HttpsGetEnabled = true;
});
app.Run();