Álv*_*cía 0 arrays wcf asynchronous list
在我的WCF服务合同中,我已经声明了一个返回List的asyn方法,但是当我在我的客户端收到该方法的返回时,我收到一个数组.我的合同如下:
[OperationContract(AsyncPattern = true)]
IAsyncResult BeginGetUsers(Paramusers paramUserParameters, AsyncCallback callback, object state);
List<Users> EndGetUsers(IAsyncResult result);
Run Code Online (Sandbox Code Playgroud)
在我的客户端,我有以下代码:
Task<List<Users>> task = Task<List<Users>>.Factory.FromAsync(_proxy.Proxy.BeginGetUsers, _proxy.Proxy.EndGetUsers, myParameters, null);
List<Users> myUsers = await task;
Run Code Online (Sandbox Code Playgroud)
在客户端中,我在FromAsync方法的第二个参数中收到错误,因为它表示EndGetUsers方法返回一个数组,而不是一个列表.
我尝试使用一组用户并且工作正常,但我想从异步方法接收列表,而不是数组.可能吗?
谢谢.Daimroc.
创建客户端代理时,请指定希望将集合表示为列表而不是数组 - 使用"添加服务引用"对话框时,选择"高级"按钮,然后System.Collections.Generic.List
在集合类型下拉列表中选择.
如果使用svcutil
,可以使用/collectionType
(或/ct
)参数指定要使用的集合类型:
svcutil http://the.service.com/service.svc /ct:System.Collections.Generic.List`1
Run Code Online (Sandbox Code Playgroud)