NServiceBus:如何从 IBus 获得最大的第一级重试

NServiceBus: How to get max first level retries from IBus

在我们的 App.config 中,我们配置了第一级最大重试次数 属性 如下:

<TransportConfig MaxRetries="3" />

我想知道如何从 IBus 中检索这个值。本质上,该方法如下所示:

public int GetMaximumFirstLevelRetries(IBus bus)
{
    // How to read the setting?
}

我想避免从 App.config 或 Web.config 读取设置。

我找到了一种方法,但我不确定这是否是最好的方法:

public int GetMaximumFirstLevelRetries(IBus bus)
{
    var unicastBus = (UnicastBus)bus;
    var transportConfig = unicastBus.Settings.GetConfigSection<TransportConfig>();
    return transportConfig.MaxRetries;
}

或者,您可以实例化 TransportConfig 并按以下方式读取值:

var transportConfig = new ServiceBus.Config.TransportConfig();
transportConfig.MaxRetries