gpt4 book ai didi

c# - NServiceBus WCF 服务错误 System.InvalidOperationException : Reply is neither supported for Commands nor Events

转载 作者:行者123 更新时间:2023-11-30 22:07:29 24 4
gpt4 key购买 nike

这是我在执行 Bus.Reply() 后在日志文件中遇到的错误:

System.InvalidOperationException:命令和事件均不支持回复。命令应该使用 bus.Send 和 bus.发送给它们的逻辑所有者。事件应使用 bus.Publish 发布。

我有一个 DotNet WCF 服务,我在下面的代码中使用 Global.asax 配置了它:

我正在使用 Bus.Sends(Message) 从主机服务 DLL 进行调用在 WCF 服务上,我正在调用 Bus.Reply(responseMessage)

我希望它是全双工,这样我可以在完成时对客户端进行回调,但我似乎无法正确配置。我已经加载了 NServiceBus -version 4.4.2 Only,就像您配置 Web 服务一样。我看到的示例执行全双工加载 NServiceBus.Host,但在 IIS 下运行时这似乎是错误的???

我错过了什么?

提前致谢:)

namespace MapQuest.Service
{
using log4net;
using NServiceBus;
using NServiceBus.Installation.Environments;
using System.IO;
using System.Web;

public class ServiceBus
{
public static IBus Bus { get; private set; }
public static ILog Log { get; private set; }

public static void Init()
{
if (Bus != null)
return;

lock (typeof(ServiceBus))
{
if (Bus != null)
return;

Bus = Configure.With()
.Log4Net()
.DefiningCommandsAs(t => t.Namespace != null && t.Namespace.EndsWith("Commands")
&& t.Namespace.StartsWith("Regions"))
.DefiningEventsAs(t => t.Namespace != null && t.Namespace.EndsWith("Events")
&& t.Namespace.StartsWith("Regions"))
.DefiningMessagesAs(t => t.Namespace != null && t.Namespace.EndsWith("Messages")
&& t.Namespace.StartsWith("Regions"))
.DefiningEncryptedPropertiesAs(p => p.Name.StartsWith("Encrypted"))
.DefineEndpointName("MapQuest.Service")
.DefaultBuilder()
.UseTransport<Msmq>()
.PurgeOnStartup(true)
.UnicastBus()
.LoadMessageHandlers()
.CreateBus()
.Start();


log4net.Config.XmlConfigurator.Configure();
Log = LogManager.GetLogger(typeof(ServiceBus));


}
}
}
}

最佳答案

对于全双工,关键是要确保您为 Bus.SendBus.Reply 使用通用消息(您的类应继承自 IMessage 或您的命名空间需要以 Messages 结尾作为您的流畅配置状态)。

如果您正在对命令或事件执行 Bus.Reply,您将得到 System.InvalidOperationException: Reply is neither supported for Commands nor Events 异常。

关于c# - NServiceBus WCF 服务错误 System.InvalidOperationException : Reply is neither supported for Commands nor Events,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22973996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com