1
當我使用通用主機以外的東西時,我無法使用自定義的ISubscriptionStorage實現。我不確定爲什麼。在'NServiceBus.Configure.With()'之後添加'MsmqSubscriptionStorage()'或'DbSubscriptionStorage()',我發現「無法在此端點上發佈 - 沒有配置訂閱存儲。NServiceBus:無通用主機的自定義ISubscriptionStorage實現
只有我不想使用這些選項,因爲我想使用我的自定義選項。
這裏是我的影片失敗:
public class Program
{
static void Main()
{
var bus = Configure.With()
.CustomConfigurationSource(new UserConfigurationSource()
.Register(() => new MsmqTransportConfig())
.Register(() => new UnicastBusConfig()))
.DefaultBuilder()
.XmlSerializer()
.MsmqTransport()
.IsTransactional(true)
.UnicastBus()
.CreateBus()
.Start();
Configure.Instance.Configurer.ConfigureComponent<StreamSubscriptionStorage>(ComponentCallModelEnum.Singleton);
Console.WriteLine("This will publish IEvent and EventMessage alternately.");
Console.WriteLine("Press 'Enter' to publish a message.To exit, Ctrl + C");
bool publishIEvent = true;
while (Console.ReadLine() != null)
{
var eventMessage = publishIEvent ? bus.CreateInstance<IEvent>() : new EventMessage();
eventMessage.EventId = Guid.NewGuid();
eventMessage.Time = DateTime.Now.Second > 30 ? (DateTime?)DateTime.Now : null;
eventMessage.Duration = TimeSpan.FromSeconds(99999D);
bus.Publish(eventMessage);
Console.WriteLine("Published event.");
publishIEvent = !publishIEvent;
}
}
}