簡體   English   中英

運行WCF時使用UI線程

[英]Using UI Thread when running WCF

我正在嘗試使用WCF測試我的程序。 我遇到的問題是,當我通過WCF調用方法時,它們在工作線程上運行。 我嘗試測試的方法需要在UI線程中運行,否則會出現以下錯誤:

DragDrop注冊失敗。 必須先將當前線程設置為單線程單元STA模式,然后才能進行OLE調用。 確保您的主函數上已標記STAThreadAttribute。

我程序中的主要函數具有STAThread屬性。 通過在我的方法中進行以下操作,我能夠使其正常工作。

public void MyMethod(){
if (InvokeRequired) {
   Invoke(new MethodInvoker(MyMethod));
   return;
   }
   //Do stuff
}

我不想對程序內部的每個方法都進行此更改。 有沒有辦法讓WCF每次都在UI線程上運行方法?

有沒有辦法讓WCF每次都在UI線程上運行方法?

不會。即使將WCF配置為以SingleThreaded運行,它仍將是服務器線程。

暫無
暫無

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

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