WCF服务方法总是异步

时间:2015-06-21 09:36:32

标签: wcf asynchronous viewmodel prism

我在ViewModel中从我的DataService调用方法时遇到问题。 问题是,我在DataServicd-Implementation中创建的每个方法都在我的ViewModel中获取Async,因此我无法从中获取任何数据。 我对WCF不太熟悉,所以我无法自己解决问题。

这是DataService-Interface:

[ServiceContract]
public interface IDataService
{

    [OperationContract]
    ObservableCollection<object> GetStartPageKPIObjects();

    [OperationContract]
    Object DoSomething();
}

这是我的DataService实施

public class DataService : IDataService
{
    public ObservableCollection<object> GetStartPageKPIObjects()
    {
        ObservableCollection<object> tempItems = new ObservableCollection<object>();

        .........tempItems.add(...)
        .........tempItems.add(...)

        return tempItems;
    }




    public object DoSomething()
    {
        return new Object();
    }
}

这就是我获取DataService的对象引用的方法:

******.ServiceReference.DataServiceClient dataClient = new ******.ServiceReference.DataServiceClient();

现在,我想访问我的服务中的数据:

dataClient.GetStartPageKPIObjectsAsync();
dataClient.DoSomethingAsync();

但两人都返回(awaitable) Task<object>!我现在如何从服务中获取数据?

1 个答案:

答案 0 :(得分:0)

也有非异步方法,也许你没有看到它们。您可以在服务引用设置中关闭异步方法的生成。然后他们完全消失了。