我正在玩创建演示棱镜应用程序。我拥有的应用程序有一个 shell 项目和另一个具有 prism 服务和视图(和视图模型)的模块。(主要基于 Mike Taulty 的视频,但使用 WPF 而不是 silverlight)。
我设置了 prism-service 来调用我的网络服务。似乎一切都正确,但是当我调用此代码时:
MyServiceReferenceClient myServiceReferenceClient = new MyServiceReferenceClient();
我收到了这个错误:
在 ServiceModel 客户端配置部分中找不到引用合同“MyServiceReference.IMyService”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此协定匹配的端点元素。
我用谷歌搜索了这个错误,发现我需要将 app.config 的内容放入我的 shell 项目中才能正常工作。
我将该文件复制到我的 Shell 项目中,它工作得很好。
但我不喜欢这个。棱镜的想法是模块化。如果我必须引用模块中调用的所有 Web 服务,那么 shell 必须比它应该更了解每个模块的内部工作。
有没有办法在模块中调用 Web 服务,并且仍然具有模块(通过配置文件)的酷炫 Prism 优势,并且区域是 shell 唯一需要知道的事情?