Autor Beitrag
Trombone
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26
Erhaltene Danke: 1



BeitragVerfasst: Sa 27.10.12 00:32 
Hallo zusammen,
ich würde gernde das neue async await feature der Windows 8 WinRT nutzen, habe jedoch noch Schwierigkeiten:

Folgendes Szenario, ich möchte einen WCF WebService mit netTcpBinding consumieren, binde also die Service Referenz üer den Mex Endpoint ein und die entsprechenden Klassen werden zu meinem Projekt hinzugefügt.

Den Webservice kann ich auf die folgende Weise aufrufen:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
void SomeMethod()
{
   ServiceClient client = new ServiceClient();
   bool result = client.MyWebServiceMethod("parameter");
}


Nach dem folgenden Tutorial hab ich mir die asynchrone Verarbeitung so vorgestellt:
blogs.msdn.com/b/piy...utely-supported.aspx

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
async void SomeMethod()
{
   ServiceClient client = new ServiceClient();
   Task<bool> result = await client.MyWebServiceMethod("parameter");
}


Ich bekomme jedoch beim await Keyword folgende Fehlermeldung: Cannot implicitly convert type 'bool' to type 'system.threading.tasks.task<bool>'

In der Service Referenz ist die Methode Task<bool>
ausblenden C#-Quelltext
1:
2:
3:
4:
public system.threading.tasks.task<bool> MyWebServiceMethod(parameter)
{
return base.Channel.MyWebServiceMethod(parameter);
}



Hab noch nie wirklich mit Threads gearbeitet, hab ich irgendwas grundlegendes nicht verstanden?
Fru mich auf euern Rat!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 27.10.12 11:24 
Hallo!

Meines Wissens müssen Methoden, auf die man mit await wartet, als async deklariert sein. Das ist die Methode MyWebServiceMethod aber nicht!

Grüße,
Chirstian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".

Für diesen Beitrag haben gedankt: Trombone
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 28.10.12 15:13 
ausblenden C#-Quelltext
1:
bool result = await client.MyWebServiceMethod("parameter");					

Das Unrwapping übernimmt await schon.

_________________
>λ=

Für diesen Beitrag haben gedankt: Trombone
Trombone Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26
Erhaltene Danke: 1



BeitragVerfasst: Fr 02.11.12 00:58 
Danke, beides wichtig, methoden als async deklariert den entpackten return wert erwartet, dann läufts!