2012-11-25 54 views
0

我有一個WPF窗口調用連接到WCF Web服務的類庫。 此窗口的構造函數調用類庫來獲取一些數據。WPF設計器System.InvalidOperationException

一切正常,當我運行的解決方案,但是當我嘗試在設計模式打開我的窗口,我得到這個錯誤:

找不到默認終結點元素引用合同「FinancesService.IAccountingService '在ServiceModel客戶端配置部分。這可能是因爲沒有找到適用於您的應用程序的配置文件,或者因爲在客戶端元素中找不到匹配此合同的端點元素。

我試過谷歌,但它只是說我的問題是配置文件,但我確實在我的主項目配置。

感謝

回答

2

您可以使用DesignerProperties.GetIsInDesignMode來檢測設計模式,並避免嘗試調用Web服務。

+0

非常感謝..這非常惱人,因爲每當我在設計模式下打開窗口時,VS都會拋出異常。 – davibq

0

的Visual Studio確實,當你從設計師放下你的控制到某種形式的執行你的控件的代碼(至少在構造函數)。當你的控制由VS實現時,你的代碼確實包含了一些連接到遠程端點的代碼,你將會得到這個異常,因爲你的控制假設你的「正常」進程是託管進程。

最簡單的事情就是檢查你的ctor執行過程。如果是devenv.exe,則可以跳過wcf connect調用以顯示控件。你應該小心,沒有後續異常發生,但現在應該是一件容易的事情。

0

最簡單的解決方案似乎是從您的WPF窗口的Loaded事件處理程序執行WCF服務調用,作爲獎勵它會使您的應用程序看起來更具響應性。