WPF设计器System.InvalidOperationException

时间:2012-11-25 17:48:16

标签: c# wpf wcf

我有一个WPF窗口,它调用连接到WCF Web服务的类库。 该Window的构造函数调用类库来获取一些数据。

当我运行解决方案时,一切正常,但当我尝试在设计模式下打开我的窗口时,我收到此错误:

无法在ServiceModel客户端配置部分中找到引用合同“FinancesService.IAccountingService”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。

我试过谷歌,但它只说我的问题是配置文件,但我的主项目中有配置。

由于

3 个答案:

答案 0 :(得分:2)

您可以使用DesignerProperties.GetIsInDesignMode检测设计模式,并避免尝试调用您的网络服务。

答案 1 :(得分:0)

当您将控件从设计器中删除到某种形式时,Visual Studio会执行您控件的代码(至少是ctor)。当您的控件由VS即时启动并且您的代码确实包含一些连接到远程端点的代码时,您将获得此异常,因为您的控件假定托管处理您的“正常”过程。

最简单的方法是检查你的执行程序。如果它是devenv.exe,那么您可以跳过wcf connect调用以显示您的控件。您应该注意不会发生后续异常,但现在这应该是一项简单的任务。

答案 2 :(得分:0)

最简单的解决方案似乎是从WPF窗口的Loaded事件处理程序执行WCF服务调用,作为奖励,它将使您的应用程序看起来更具响应性。