gpt4 book ai didi

WPF + PRISM - 我应该将 WCF 客户端注入(inject) View-Model 吗?

转载 作者:行者123 更新时间:2023-12-05 00:12:17 24 4
gpt4 key购买 nike

我在 PRISM 架构中有一个 WPF 应用程序。

根据我在网上阅读的内容,我发现 View-Models 在 中调用 WCF 服务操作是最好的。异步 方式,还有- 最好是为每个操作创建一个新连接 . (有人告诉我,保持连接事件时间过长是不好的)。

我的问题是 - 我应该如何将 WCF 客户端注入(inject)到我的 View-Model 中?

如果我只是为“自动生成”客户端创建一个接口(interface) - 并注入(inject)接口(interface) - 这将只是在我的 View-Model 构造函数中为客户端创建一个实例,但如果我想创建一个新客户端,这对我没有帮助对于我在窗口中执行的每个操作。

为此-我需要注入(inject)“客户端工厂”之类的东西。

任何人都可以对此发表意见吗?

最佳答案

首先,IMVHO WCF 调用最好放在模型中,而不是 View 模型中。

您可以创建一个工厂助手类,向它传递一个接口(interface),然后它会传回一个实现该接口(interface)的具体实例。工厂助手仍然可以使用 PRISM 将接口(interface)解析为具体类型,这些类型将解析您已将它们注册到的任何内容,并且您每次都将获得一个新实例,前提是您尚未向生命周期管理器注册它们。

在工厂助手中使用 PRISM 有助于保持整个事物的高度可单元测试——您可以在测试时模拟出与 WCF 相关的代理类,而目标模型永远不会知道其中的区别。如果你真的想关注 dependency injection模式,那么您可以在构造函数中注入(inject)工厂助手。

关于WPF + PRISM - 我应该将 WCF 客户端注入(inject) View-Model 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11599022/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com