1
我需要移動一些大文件,並且我想使用NserviceBus,因爲文件不會保留在系統上。我一直在嘗試使用v.3中的新數據總線功能來啓動和運行。 文件在一個進程中生成,然後傳遞到總線上。我的問題是我無法啓動公共汽車。我有一個示例應用程序下面,基本上反映了我的設置,不同的是在「真正的」應用程序,總線生活在不同的應用程序(不推到了一個服務器尚未所以我只是運行一個開發實例)NServicebus DataBus
#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
我EndpointConfig.cs看起來是這樣的:
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();
}
}
我已經改變了我的代碼在發件人類來發送非數據總線消息,和一個簡單的消息,這工作得很好。但是,當我嘗試使用它來發送Databus消息時,我總是收到一個NullReferenceException異常。如果有人能給我一個指針,我會非常感激。