持久化主机传奇的自定义数据库名称

时间:2016-08-24 14:11:50

标签: ravendb nservicebus nservicebus-sagas

是否可以使用自定义数据库名称(而不是端点)来使用ravenDb来保存nservicebus主机传奇?

我使用NServiceBus 3.3和RavenDB 2.5。并以这种方式初始化endpoind:

public class RavenConfig : IWantCustomInitialization
{
    public void Init()
    {
          Configure.Instance.RavenPersistence("AllHostsRavenDB");
          Configure.Instance.RavenSagaPersister();
          Configure.Instance.RavenSubscriptionStorage();
          Configure.Instance.UseRavenTimeoutPersister();
    }
 }

我的App.config包含:

<connectionStrings>
  <add name="AllHostsRavenDB" 
     connectionString="Url=http://localhost:8080; DefaultDatabase=ABC;" />
</connectionStrings>

2 个答案:

答案 0 :(得分:1)

我终于搞定了!我改变了我的自定义初始化:

var x = d3.scaleOrdinal()
.domain(data.map(function(d) { return d.name; }))
.rangeRoundBands([0, width], 0.1);

为:

public class RavenConfig : IWantCustomInitialization
{
    public void Init()
    {
      Configure.Instance.RavenPersistence("AllHostsRavenDB");
      Configure.Instance.RavenSagaPersister();
      Configure.Instance.RavenSubscriptionStorage();
      Configure.Instance.UseRavenTimeoutPersister();
    }
}

答案 1 :(得分:0)

来自文档:

  

在代码中控制数据库名称,而不是通过   配置,使用Configure.RavenPersistence(字符串   connectionStringName,string databaseName)签名。这可以   在多租户情况下很有用。

http://docs.particular.net/nservicebus/ravendb/#nservicebus-3-and-nservicebus-4-overriding-the-defaults

这会解决你的问题吗?