2010-03-30 66 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