Wir verwenden MassTransit in einem Request/Response-Modell in unserer Webanwendung. Wir können Anfragen senden und Antworten erhalten. Zu Testzwecken/Debugging-Zwecken Wir setzen das HandleTimeOut für den Response Handler auf 1 Stunde. Das Problem ist, wenn der Server keine Antwort sendet, kann ich auf der Client-Seite nichts tun (ich kann nicht auf eine andere Seite zugreifen). Der Anwendungsserver reagiert auf keine anderen Anforderungen vom Browser, bis der IIS zurückgesetzt wird. Ist das erwartetes Verhalten? Wenn dies der Fall ist, kann jemand aufklären, warum IIS auf keine anderen Seitenanforderungen reagiert und ob es eine Möglichkeit gibt, dieses Verhalten zu ändern.IIS friert bei Verwendung von MassTransit ein
ich den Bus in einem Autofac Modul am Registrierung
builder.Register(c => ServiceBusFactory.New(sbc =>
{
sbc.UseMsmq();
sbc.VerifyMsDtcConfiguration();
sbc.VerifyMsmqConfiguration();
sbc.ReceiveFrom("msmq://localhost/MassTransit_ClientQueue");
sbc.UseBinarySerializer();
sbc.SetCreateTransactionalQueues(false);
})).As<IServiceBus>().SingletonScoped();
Mein Client-Code wie dieses sein Es könnte
var bus = IoC.Resolve<IServiceBus>();
bus.GetEndpoint(new Uri("msmq://localhost/MassTransit_ServerQueue"))
.SendRequest(new Message(), bus, rc =>
{
rc.HandleTimeout(new TimeSpan(1, 0, 0),
() => { });
rc.Handle<MessageResponse>(resmess =>
{
});
rc.Handle<MassTransit.Fault<Message>>
(resmess =>
{
});
});
Danke, das erklärt mein Problem – Avinash