Ich versuche, eine grundlegende Verbindung zu Azure ServiceBus einzurichten und habe etwas ungewöhnliches in Azures Beispielcode gefunden, die mich über die Speicherung von Variablen aufgewühlt haben, denn ich kann das nicht zum Laufen bringen.Variablen in einer ereignisgesteuerten Nachrichtenpumpe speichern?
Ein Beispiel, das funktioniert:
client.OnMessage(message =>
{
Console.WriteLine(String.Format("Message body: {0}", message.GetBody<String>()));
Console.WriteLine(String.Format("Message id: {0}", message.MessageId));
});
Wenn ich das in etwa wie folgt bearbeiten:
string test = string.Empty;
client.OnMessage(message =>
{
test = String.Format("Message body: {0}", message.GetBody<String>());
});
Console.WriteLine("test: "+test); //outputs "test: "
Es funktioniert nicht mehr. Die Ausgabe wird nur "test:" sein. Sollte das nicht so funktionieren oder habe ich etwas verpasst?
Vielen Dank im Voraus
'OnMessage' asynchron ist,' Console.WriteLine' muss innerhalb der Lambda-Ausdruck sein, wie 'Console.WriteLine' ausgeführt wird, bevor OnMessage vorbelegt wird. – Jim
Ich verstehe, das erklärt es. Vielen Dank. Was aber, wenn man die Daten für die weitere Verwendung speichern möchte? – DaveLar
Ich habe meine Antwort bearbeitet ... – Jim