如何给在NServiceBus路由另一种解决途径?

问题描述 投票:0回答:1

我在.NET 2.2核心应用程序中实现NServiceBus。一切工作正常,但现在我已决定在一个单独的解决方案移动处理器,并从解决方案的WebAPI调用它们。最初,我曾在同一个解决方案的所有设置,以便我可以实现路由是这样的:

var endpointConfiguration = newEndpointConfiguration(AssemblyName);
    var transport = endpointConfiguration.UseTransport<LearningTransport>();
    endpointConfiguration.SendOnly();

    var routing = transport.Routing();
    routing.RouteToEndpoint(
            assembly: typeof(OrderProcessEvent).Assembly,
            destination: "Orders");

    endpoint = NServiceBus.Endpoint.Start(endpointConfiguration).GetAwaiter().GetResult();

现在,我怎么能提供的“目的地”其他解决途径?就像是:

 routing.RouteToEndpoint(
        assembly: typeof(OrderProcessEvent).Assembly,
        destination: @"C:\Endpoints\Orders");

更新:

通过丹尼尔斯的回答。我曾经尝试这样做:

var endpointConfiguration = new EndpointConfiguration(AssemblyName);
                var transport = endpointConfiguration.UseTransport<LearningTransport>();
                //endpointConfiguration.SendOnly();
                transport.StorageDirectory(@"..\.Endpoints\");
                var routing = transport.Routing();
                routing.RouteToEndpoint(
                    assembly: typeof(OrderProcessEvent).Assembly,
                    destination: "Orders");

                endpoint = NServiceBus.Endpoint.Start(endpointConfiguration).GetAwaiter().GetResult();

但我仍然得到同样的错误

“对于消息没有指定目标:Namespace.Orders”

asp.net asp.net-core-2.0 nservicebus
1个回答
1
投票

当使用学习传输(需要注意的不是生产运输),你可以指定存储目录

var transport = endpointConfiguration.UseTransport<LearningTransport>();
transport.StorageDirectory("PathToStoreTransportFiles");

如果所有端点指向同一个目录,他们可以一起交流。一个简单的例子,假设你的src目录的结构如下方式

src\
  Solution1\
  Solution2\

你可以配置类似下面的学习交通

var transport = endpointConfiguration.UseTransport<LearningTransport>();
transport.StorageDirectory("..\.learningtransport");

然后创建

src\
  Solution1\
  Solution2\
  .learningtransport

请注意,如果你设置的存储目录这样你可能需要考虑到,终端将在bin\[Release|Debug]\netXYZ执行帐户。

关于学习传输配置更多信息可以在https://docs.particular.net/transports/learning找到

© www.soinside.com 2019 - 2024. All rights reserved.