Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Asynchrones Aufrufen von Vorgängen mit einer Kanalfactory
Runshak
myCSharp.de - Member



Dabei seit:
Beiträge: 71

Themenstarter:

Asynchrones Aufrufen von Vorgängen mit einer Kanalfactory

beantworten | zitieren | melden

Wie ihr vllt wisst, habe ich ein Program mit WCF und basicHttpBinding...ich glaube auch, dass ich alle Tipps/Vorschläge von @Abt umsetzen habe können bzw halbwegs verstanden habe...

Das Program läuft allerdings synchron...ich würde es aber gerne asynchron laufen lassen...jetzt habe ich Vorgehensweise: Asynchrones Aufrufen von Vorgängen mit einer Kanalfactory gefunden (siehe Überschrift) ...allerdings tun sich hierbei eine Menge Fragen auf, die ihr vllt beantworten könnt...

Dienstvertrag:

  [OperationContract(AsyncPattern = true)]
    IAsyncResult BeginMultiply(double n1, double n2, AsyncCallback callback, object state);
    double EndMultiply(IAsyncResult ar);

Das BeginMultiply und das EndMultiply muss ich ja beides "füllen"...

in einer anderen Klasse, die von dem Interface mit dem Dienstvertrag erbt muss ich ja diese beiden Methoden behandeln...ich habe bei mir eine Funktion, die Primzahlen berechnet...diese Funktion habe ich in die BeginMultiply-Methode gepackt...und was muss in der EndMultiply-Methode stehen?

und dann gibt es noch

static void AddCallback(IAsyncResult ar)
{
    double result = ((CalculatorClient)ar.AsyncState).EndAdd(ar);
    Console.WriteLine("Add Result: {0}", result);
}
...kommt das zum Client oder zum Server?

Wenn jemand mir das Erklären könnte, vllt auch ein Beispiel hätte, oder einfach nur Tipps... ich wäre euch wirklich dankbar
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 6.779
Herkunft: Waidring

beantworten | zitieren | melden

Hallo Runshak,

verwendest du .net 4.5? Dann geht das über den Task-basierten Ansatz viel einfacher. Siehe Synchronous and Asynchronous Operations Abschnitt "Task-Based Asynchronous Pattern".

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
private Nachricht | Beiträge des Benutzers