![](/img/trans.png)
[英]My UI thread is blocked when await Dispatcher.BeginInvoke… (using WPF and WCF)
[英]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.