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

我使用了“任务”而不是“调度程序”,它通过“结果”属性与我的主线程共享数据。

于 2013-08-20T14:44:47.193 回答