NServicebus数据总线

NServicebus数据总线,nservicebus,Nservicebus,我需要移动一些大文件,我想使用NserviceBus,因为这些文件不会在系统上持久化。我一直在尝试使用v.3中的新databus功能来启动和运行它。 这些文件在一个进程中生成,然后传递到总线上。我的问题是我不能启动公共汽车。下面我有一个示例应用程序,它基本上反映了我的设置,除了在“真实”应用程序中,总线位于不同的应用程序中(还没有推送到服务器,所以我只运行一个dev实例) 我已经更改了Sender类中的代码,以发送一条非Databus消息和一条简单消息,并且效果很好。但是,当我尝试使用它发送一条

我需要移动一些大文件,我想使用NserviceBus,因为这些文件不会在系统上持久化。我一直在尝试使用v.3中的新databus功能来启动和运行它。 这些文件在一个进程中生成,然后传递到总线上。我的问题是我不能启动公共汽车。下面我有一个示例应用程序,它基本上反映了我的设置,除了在“真实”应用程序中,总线位于不同的应用程序中(还没有推送到服务器,所以我只运行一个dev实例)

我已经更改了Sender类中的代码,以发送一条非Databus消息和一条简单消息,并且效果很好。但是,当我尝试使用它发送一条Databus消息时,我总是得到总线的NullReferenceException。如果有人能给我一个指针,我将非常感激。

您需要更改

专用IBus总线{get;set;}

致:

公共IBus总线{get;set;}

要获取总线的依赖注入。

您需要更改

专用IBus总线{get;set;}

致:

公共IBus总线{get;set;}

为巴士注射依赖性药物

    #region Declarations

    private IBus Bus { get; set; }

    #endregion

    #region Constructors

    public Sender()
    {       
        if (Directory.Exists(BasePath))
        {
            Bus = Configure.Instance
                .FileShareDataBus(BasePath)
                .UnicastBus().DoNotAutoSubscribe()
                .CreateBus()
                .Start();
        }
    }

    #endregion

    #region Methods

    public void SendMessage()
    {
        // get a list of file names
        List<string> fileList = Directory.GetFiles(@"c:\test\").ToList();


        Bus.Send<GenericListMessage>(message =>
                                        {
                                            message.Name = "TEST";
                                            message.FileList = new DataBusProperty<List<string>>(fileList);
                                        });
    }
    #endregion
public class EndpointConfig : IConfigureThisEndpoint, AsA_Client 
{
}

internal class SetupDataBus : IWantCustomInitialization
{
    public static string BasePath = @"c:\storage\";

    public void Init()
    {
        Configure.Instance
            .FileShareDataBus(BasePath)
            .UnicastBus()
            .DoNotAutoSubscribe();
    }
}