0

wcf データ サービスへの非同期呼び出しを書き込もうとしていますが、返されたオブジェクトを読み取る方法がわかりません。

public IQueryable<T> Read(string TableName)
    {
        IQueryable<T> OdataResult=null;            

        IAsyncResult asyncresult = context.BeginExecute<T>(new Uri("/" + TableName, UriKind.Relative),
            (result) =>
            {
                Dispatcher.CurrentDispatcher.BeginInvoke(new OperationResultCallback(delegate
        {

            var result1 = new DataServiceCollection<T>(context.EndExecute<T>(result));

            OdataResult = result1.AsQueryable<T>();

        }), null);
            }, null);

        asyncresult.AsyncWaitHandle.WaitOne();

        asyncresult.AsyncWaitHandle.Close();

        return OdataResult;}

ODataResult は常に私に null を与えています:(

4

1 に答える 1

1

「Dispatcher」の代わりに「Task」を使用し、「Result」プロパティを介してデータをメインスレッドと共有しました。

于 2013-08-20T14:44:47.193 に答える