Ich versuche, eine wirklich einfache NServicebus.Host-Anwendung zu erstellen, die jede Sekunde eine Nachricht sendet. Ich möchte keine der NServiceBus Persistenz Sachen verwenden, die RavenDB (dh Timeouts/Sagas) verwendet.
Ich habe Folgendes getan:
public class EndpointConfig : IConfigureThisEndpoint, AsA_Server, AsA_Publisher, IWantCustomInitialization
{
public void Init()
{
Configure.With()
.DisableTimeoutManager();
}
}
y
public class MessageSender : IWantToRunWhenTheBusStarts
{
private readonly IBus _bus;
public MessageSender(IBus bus)
{
_bus = bus;
}
public void Run()
{
Task.Factory.StartNew(() =>
{
while (true)
{
_bus.Publish(new MyMessage { Timestamp = DateTime.Now });
Thread.Sleep(1000);
}
});
}
}
Ich erhalte jedoch eine Ausnahme in der Veröffentlichungszeile:
System.Net.WebException wurde vom Benutzercode nicht behandelt
HResult=-2146233079 Message=Kann keine Verbindung zum Remote-Server herstellen
Quelle=System StackTrace: at System.Net.HttpWebRequest.GetResponse() at Raven.Client.Connection.HttpJsonRequest.ReadStringInternal(Func1 getResponse) at Raven.Client.Connection.HttpJsonRequest.ReadResponseString() at Raven.Client.Connection.HttpJsonRequest.ReadResponseJson() at Raven.Client.Connection.ServerClient.DirectGet(String serverUrl, String key) at Raven.Client.Connection.ServerClient.<>c__DisplayClass1.<Get>b__0(String u) at Raven.Client.Connection.ServerClient.TryOperation[T](Func
2 operation, String operationUrl, B at Raven.Client.Connection.ServerClient.ExecuteWithReplication[T](String method, Func2 operation) at Raven.Client.Connection.ServerClient.Get(String key) at Raven.Client.Document.DocumentSession.Load[T](String id) at System.Linq.Enumerable.WhereSelectArrayIterator
2.M bei System.Linq.Enumerable.WhereEnumerableIterator1.MoveNext() at System.Linq.Enumerable.<SelectManyIterator>d__14
2.MoveNext() bei System.Linq.Enumerable.d_ 811.MoveNext() at System.Collections.Generic.List
1..ctor(IEnumerable1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable
1 at NServiceBus.Unicast.UnicastBus.Publish[T](T[] messages) at ClassLibrary1.MessageSender.b _ at System.Threading.Tasks.Task.Execute() InnerException: System.Net.Sockets.SocketException HResult=-2147467259 Message=Es konnte keine Verbindung hergestellt werden, da der Zielcomputer sie aktiv abgelehnt hat 127.0.0.1:8080 Quelle=System FehlerCode=10061 NativeErrorCode=10061 [ ] at System.Net.Sockets.Socket.DoConnect(EndPoint endPoi at System.Net.Sockets.Socket.InternalConnect at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
Dies deutet darauf hin, dass NServiceBus immer noch versucht, eine Verbindung zu RavenDB herzustellen.
Was muss ich noch deaktivieren, damit dieses Beispiel funktioniert?
Warum wird überhaupt versucht, eine Verbindung zu RavenDB für eine einfache Veröffentlichung herzustellen?
Hinweis: Ich habe noch keine Abonnenten.