【问题标题】:webservice reference shenanigans网络服务参考恶作剧
【发布时间】:2011-03-04 11:51:57
【问题描述】:

我有一个 .net Web 服务(通过 WS),它传递到另一个(底层 WS),传递一个特定的自定义对象。 两个 WS 都包含带有特定自定义对象类的程序集,但是当我将底层 WS 的服务引用添加到直通 WS 时,.net 在直通 WS 命名空间中生成它自己的此类类型。 这意味着我必须在不同的名称空间中使用这个其他对象,而不是它真正的名称 - 真正复制“真正的”类/对象。 也许我没有很好地解释这一点。

我猜我可以手动进入 .net 生成的服务类并将生成的对象替换为“正确”的对象,但是每次更新基础服务时我都必须这样做。至少可以说有点痛苦。 这显然也会影响返回类型以及调用 webmethods 的参数.. dagnamit!

有没有办法解决这个问题?理想情况下,我希望两个 WS 都使用相同的对象。 还是我必须将构造函数添加到生成的对象中,这些对象采用底层对象并分配所有类似的属性? - 我希望不会……

我意识到 WS 必须是独立于平台的,使用的类型不仅可以从 .net 或其他任何地方访问。 那么确保您只使用这些基本类型而不是将它们全部包装在自定义对象中,而是将所有这些“属性”作为单独的参数传递的想法是什么? 非常感谢任何帮助

谢谢

自然

【问题讨论】:

    标签: .net web-services reference passthru


    【解决方案1】:

    如果您使用的是旧式(又名老派)ASP.NET Web 服务,您基本上有 2 个选择:

    1. Convert them to WCF services 并使用 Service References(而不是简单的References)来使用它们。 WCF 服务support reuse of classes

    2. 如果您想继续使用传统的 Web 服务技术,您将不得不通过 customizing the way the proxy class is generated 努力。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-15
      • 1970-01-01
      • 2010-11-10
      • 2011-07-31
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      相关资源
      最近更新 更多