我为我的NServiceBus提供了以下配置:

builder.Host.UseNServiceBus(ctx =>
{
    var endpointConfiguration = new EndpointConfiguration("my.orders");
    var transport = endpointConfiguration.UseTransport(new LearningTransport());
    
    transport.RouteToEndpoint(
        assembly: typeof(CreateOrderMessage).Assembly,
        destination: "my.orders");

    endpointConfiguration.UseSerialization<SystemJsonSerializer>();
    
    var conventions = endpointConfiguration.Conventions();
    conventions.DefiningMessagesAs(type =>
        typeof(IDTestMessage).IsAssignableFrom(type)
    );

    return endpointConfiguration;
});

这将学习传输文件置于解决方案的根目录中.当我的docker内部运行时,会导致一个严重的崩溃(在本地运行良好).因此,我想指定用于学习传输文件的文件夹.

根据这里的文档https://docs.particular.net/transports/learning/,我试着像这样更新我的代码:

var endpointConfiguration = new EndpointConfiguration("my.orders");
var transport = endpointConfiguration.UseTransport(new LearningTransport());
transport.StorageDirectory("PathToStoreTransportFiles");
transport.RouteToEndpoint(
    assembly: typeof(CreateOrderMessage).Assembly,
    destination: "my.orders");

我得到了这个错误:

"设置"不包含 '登录目录'

也许在8版本的NServicebus库中,配置是不同的?或者我需要安装一个额外的nugget?我该怎么解决这个问题?

推荐答案

使用新的v8方法,您自己创建一个LearningTransport的实例,您需要在创建的实例上设置StorageDirectory属性.

这里有一个例子:

var learningTransport = new LearningTransport
{
    StorageDirectory = "PathToStoreTransportFiles"
};

var transport = endpointConfiguration.UseTransport(learningTransport);

有了这个修改,你也可以把transport局部变量改为routing.

var learningTransport = new LearningTransport
{
    StorageDirectory = "PathToStoreTransportFiles"
};

var routing = endpointConfiguration.UseTransport(learningTransport);

routing.RouteToEndpoint(
    assembly: typeof(CreateOrderMessage).Assembly,
    destination: "my.orders");

Csharp相关问答推荐

如何在NServicebus中配置学习传输的文件夹(NService bus 8)

使用特定格式的JsonConvert序列化对象

ASP.NET Core 8.0 JWT验证问题:尽管令牌有效,但SecurityTokenNoExpirationError异常

图形API基于appid列表检索多个应用程序

有没有办法在WPF文本框中添加复制事件的处理程序?

只有第一个LINQ.Count()语句有效

注册所有IMediatR类

如何在C#中实现非抛出`MinBy`?

当我没有此令牌时,为什么语法报告EOF错误?

EF核心新验证属性`DeniedValues`和`StringCompison`不起作用

如果是,我怎么才能让这个加75,如果不是,我怎么才能减go 100?

在ASP.NET Core 8 MVC中本地化共享视图

如何返回具有泛型的类?

在使用AWS SDK for.NET时,如何判断S3是否已验证我的对象的校验和?

如何使用实体框架核心对字符串_agg使用强制转换为varchar(Max)

将字符串类型日期输入(yyyy-mm-ddthh:mm:ss)转换为MM/dd/yyyy格式

C#USB条形码 scanner 在第二次扫描时未写入行尾字符

在使用xUnit和Mock执行单元测试时,控制器ViewResult返回空的Model集合

如何在flutter dart中使用publicKey.xml文件进行rsa加密,我遇到了问题Exception:Could not parse BigInt

MS Project读取项目自定义域