Aufgabe & lt; & gt; enthält keine Definition für 'GetAwaiter'

Client

iGame Channel = new ChannelFactory<iGame> ( new BasicHttpBinding ( BasicHttpSecurityMode . None ) , new EndpointAddress ( new Uri ( "http://localhost:58597/Game.svc" ) ) ) . CreateChannel ( );

public Task<SerializableDynamicObject> Client ( SerializableDynamicObject Packet )
{
    return Task<SerializableDynamicObject> . Factory . FromAsync ( Channel . BeginConnection , Channel . EndConnection , Packet , null );
}

Vertrag

    [OperationContract ( AsyncPattern = true )]
    IAsyncResult BeginConnection ( SerializableDynamicObject Message , AsyncCallback Callback , object State );

    SerializableDynamicObject EndConnection ( IAsyncResult Result );

Service

public IAsyncResult BeginConnection ( SerializableDynamicObject Message , AsyncCallback Callback , object State )
{
    dynamic Request = Message;
    dynamic Response = new SerializableDynamicObject ( );
    if ( Request . Operation = "test" )
    {
        Response . Status = true;
    }
    Response . Status = false;

    return new CompletedAsyncResult<SerializableDynamicObject> ( Response );
}

public SerializableDynamicObject EndConnection ( IAsyncResult Result )
{
    return ( Result as CompletedAsyncResult<SerializableDynamicObject> ) . Data;
}

Aussetzen Service aus Silverlight-Client

private async void myButton ( object sender , RoutedEventArgs e )
{
    dynamic Request = new SerializableDynamicObject ( );
    Request . Operation = "test";

    var task = Client ( Request );
    var result = await task;  //<------------------------------ Exception
}

Ausnahme

Task<SerializableDynamicObject > does not contain a definition for 'GetAwaiter'

Was's falsch ?


Edit 1 :

Kurz,

Visual studio 2012 RC Silverlight 5 Anwendung verbraucht Spiel WCF 4 Service gehostet in ASP.net 4 Anwendung mit ChannelFactory-Technik über eine Gemeinsame Tragbare Bibliothek .NET4/SL5 enthält die iGame Schnittstelle mit Async CTP

Grafik :
ASP.NET <= Class Library ( Spiel ) <= Tragbare Bibliothek ( iGame ) => Silverlight


Edit 2 :

  • Microsoft.CompilerServices.AsyncTargetingPack.Silverlight5.dll Hinzugefügt in meine SL5 Client
  • mit System . Threading . Aufgaben;

InformationsquelleAutor der Frage Ahmed Ghoneim | 2012-08-07

Schreibe einen Kommentar