【问题标题】:Unity and web serviceUnity 和网络服务
【发布时间】:2010-06-08 15:15:50
【问题描述】:

我有这个绝妙的主意……但恐怕这实际上是个坏主意……

我们使用统一进行依赖注入。

我使用部分类从我的 Web 服务创建接口,用于模拟和 Web 服务....

我想做的是将我的网络服务整合起来,并通过依赖注入来获取它们......

你怎么看?某处是否有太多开销?内存泄漏?这是个坏主意吗?

【问题讨论】:

  • 您能详细说明一下吗?您是在统一定义 Web 服务的类型映射,还是在考虑统一注册 Web 服务的实例?我的答案将取决于你走哪条路......
  • 我想两者都做...不过,放入一个实例似乎是最充满风险的......

标签: .net web-services dependency-injection unity-container


【解决方案1】:

记住:不要使用 DI 容器来查找服务 - 它是 Service Locator anti-pattern。相反,请使用 构造函数注入 将您的依赖项放入您的使用者中。

您也可以使用 Web 服务执行此操作 - 至少使用 WCF 可以use Constructor Injection for the service 实现。

这意味着您可以将所有必要的依赖项注入您的 Web 服务,并让 Unity 为您解决所有问题。那将是正确的方法。这根本不是一个坏主意。

为防止内存泄漏,您必须记住在使用后释放每个已解析的实例。然而,那是微不足道的(此处包含的链接之一显示了如何做到这一点)。

【讨论】:

  • 但是如何在WebService中实现呢?
【解决方案2】:

我认为值得一试通过 unity 获取 Web 代理类。我可以想象你的模拟测试变得更容易配置和执行。实际上,我越想,这个想法似乎很扎实,值得付出努力。

【讨论】:

    猜你喜欢
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    相关资源
    最近更新 更多