Laden...

Forenbeiträge von nickname8 Ingesamt 3 Beiträge

23.01.2016 - 14:57 Uhr

Hallo Community,
ich hab ein Frage und hoffe das ich hier im richtigen Forum bin.

Ich hab eine Client Server Architektur und nutze eine fertige DLL dafür. Die bietet einen Listener und ein Client. Beide können nur mit async await Techniken benutzt werden.
Ich hab mir also eine Clientklasse gebaut, die folgendermaßen benutzt wird:

public async EineMethode()
{
    var hReturnValeFromServer = await MyClient.GetData("sql-befehl");
    var bsp = 1 + 1;
}

Nun ist es ja bei async await so, dass wenn der Compiler bei MyClient.GetData angekommen ist, in einem neuen Thread GetData abgearbeitet wird und der Maincompiler währenddessen weitergeht. Und zwar nach meiner Beobachtung da, wo EineMethode() aufgerufen wird. Erst wenn der await-Thread zurückkommt, wird var bsp = 1 + 1; ausgeführt.

Ich hätte es jetzt gerne, dass die await-Methode genauso aufgerufen wird, der Hauptthread aber wartet und dann bei var bsp = 1 + 1; weitergeht.
Ich hab schon versucht, await wegzulassen und auf das Result zu warten (MyClient.GetData("sql-befehl").Result). Aber irgendwie klappt das nicht. Der hängt sich dann einfach irgendwo in einem Thread auf.

Ich hoffe ich konnte mein Problem verständlich schildern. Wenn Fragen vorhanden sind, einfach schreiben.
Ich bin leider in dem ganzen Threading und async await Features nicht fit...

Danke schonmal!

09.10.2015 - 10:28 Uhr

Hi,
super, vielen Dank! Das hilft mir schonmal sehr weiter! Werde meine Software entsprechend designen.
Jetzt hab ich noch eine andere Frage: Ich möchte die Klassen ebenfalls in eine PCL schreiben, damit sowohl Client als auch Server damit umgehen kann. Die CL muss portable sein, damit ich das auch in entsprechenden Xamarin-Projekten nutzen kann. Jetzt ast du geschrieben, dass die Datenklassen serialisierbar sein müssen. [Serializable] ist aber nicht verfügbar für PCLs. Dafür kann ich andere 3rd party PCLs nutzen. Kann/Muss ich Zyan irgendwie sagen, wie der (de)serialiseren soll?
Ich möchte zum Beispiel Newtonsoft Json.net zum serialisieren nutzen. Wenn ich jedoch die entsprechenden Attribute in die zu serialisierbaren Klassen schreiben, bekomme ich trotzdem eine SerializationException.
LG

28.08.2015 - 23:18 Uhr

Hallo Leute,
ich bin neu hier im Forum und hab sofort eine Frage zum Zyan Framework. Kann ich das hier stellen? Sonst können die Mods mir gerne Bescheid geben und ich verschiebe meine Frage an die entsprechende Stelle.

Meine Frage ist, ob ich an einem Zyan-Client erstelltes Objekt (mit der connection.CreateProxy-Methode) einer Methode eines anderen Objektes übergeben kann?
Beispiel:


var hTasse = connection.CreateProxy<ITasse>();
var hSchrank = connection.CreateProxy<ISchrank>();

hSchrank.StelleRein(hTasse);

Bei mir passiert es beim Methodenaufruf, dass ich eine "MissingMethodException" bekomme, weil der die Mehtode Schrank.InitializeLifetimeService() nicht findet. Diese Methode kommt aus dem Zyan-Framework, die hab ich nicht programmiert.

Kann mir da einer weiterhelfen?

Gibt es sonst irgendwo eine Dokumentation mit Code-Beispielen von Zyan? Ist schon eine mega super Sache, aber leider bringen mir die reinen Methodennamen und Klassen aus der API nicht so viel Infos, dass ich das ohne weitere Erklärung verstehe.

Danke schonmal!!!