2010-03-30 37 views
1

我想用<operation>Asnyc方法,而不是Begin<operation>/End<operation>我的WCF服务客户端代理,因为我更新WPF控件和需要确保他们正在从UI线程更新。我可以使用Dispatcher类来为UI线程排队项目,但这不是我要求的。在代理接口不产生WCF <operation>异步方法

我配置了服务引用来生成异步操作,但它只生成代理实现中的方法,而不是界面。该接口只包含同步和方法。

为什么接口中不生成这些方法,并且有办法做到这一点,还是必须创建派生接口来手动添加它们?

回答

0

我结束了手动创建我自己的界面是这样的:

public interface IMyServiceProxy : IGeneratedServiceProxy 
{ 
    void GetEntityAsync(GetEntityRequest request); 
    void GetEntityAsync(GetEntityRequest request, object userState); 
    event EventHandler<GetEntityCompletedEventArgs> GetEntityCompleted; 
} 

,然后创建一个派生类,它实现我的接口:

public class MyServiceProxy : GeneratedServiceProxy, IMyServiceProxy 
{ 
} 

让我知道,如果有人找到一个更好的解决办法。

0

您的项目需要以.NET Framework 3.5为目标以生成基于事件的代理。 请参阅“如何启用”部分here