我有一個WPF客戶端,可以調用2個WCF服務。WPF客戶端 - 我應該在後臺線程中調用WCF服務嗎?
一個服務僅用於查詢,一個服務用於命令()。
我應該如何調用命令服務?
我在某處讀取命令服務中的所有操作必須是「單向」的,因爲它們不應該返回任何值。而且如果出現問題 - 操作應該向客戶端拋出一個'FaultException'。
但是,如果命令都是單向的 - 我在客戶端做什麼?
假設我在WPF客戶端有一個'AddProduct'窗口,然後輸入信息並按下'Save'。
我現在在服務調用 'addProduct命令(產品)',而是:
- 它應該關閉窗口?
- 是否應該等待10秒才能查看是否沒有FaultException?
- 操作而不是是「單向」嗎?如果是這樣 - 命令服務中的所有操作是否應該返回某種類型的'成功'或'失敗'的通用'結果'對象?
- 如果第3部分是'是' - 我應該在單獨的線程中調用服務並'禁用'窗口上的所有控件,直到我得到服務的迴應嗎?
感謝。
所以,如果我理解正確的話 - 我需要的所有操作不被單向的,並且都應該返回void。如果一個操作發生故障 - 它應該返回一個'FaultException',否則 - 客戶端知道操作執行正確。 –
因此,這也意味着,調用應該在後臺線程來完成 - 所以我不掛在UI線程在WPF客戶端應用程序。對 ? –
正確。您絕對不應該爲了用戶體驗目的而掛上UI線程。 – Kassem