簡體   English   中英

世界足球聯合會 <operation> 代理接口中未生成異步方法

[英]WCF <operation>Async methods not generated in proxy interface

我想在WCF服務客戶端代理上使用<operation>Asnyc方法而不是Begin<operation>/End<operation> ,因為我正在更新WPF控件,並且需要確保它們是從UI線程中更新的。 我可以使用Dispatcher類將UI線程的項目排隊,但這不是我要的。

我已經配置了服務引用來生成異步操作,但是它僅在代理的實現中生成方法,而不是在接口中生成方法。 該接口僅包含同步方法和Begin<operation>/End<operation>方法。

為什么在界面中沒有生成這些方法,有什么方法可以做到呢?還是我必須創建一個派生的接口來手動添加它們?

我最終手動創建了自己的界面,如下所示:

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

然后創建一個實現我的接口的派生類:

public class MyServiceProxy : GeneratedServiceProxy, IMyServiceProxy
{
}

讓我知道是否有人找到更好的解決方法。

您的項目需要以.NET Framework 3.5為目標,以便生成基於事件的代理。 請參閱此處的如何啟用 ”部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM