我有一个.net webservice(passthrough WS),它传递给另一个(底层WS),传递一个特定的自定义对象。 两个WS都包含具有特定自定义对象类的程序集,但是当我将基础WS的服务引用添加到直通WS时,.net在passthough WS命名空间中生成它自己的类。 这意味着我必须在不同的命名空间中使用这个其他对象而不是它真正的那个 - 真正复制“真正的”类/对象。 也许我不是很好地解释这一点。
我猜我可以手动进入.net生成的服务类,并用'正确'替换生成的对象,但每次更新底层服务时我都必须这样做。至少可以说有点痛苦。 这显然也会影响返回类型以及webmethods调用的参数.. dagnamit!
有没有办法解决这个问题?理想情况下,我希望两个WS都使用相同的对象。 或者我将不得不将构造函数添加到生成的对象中,这些对象采用底层的对象并只分配所有这些属性? - 我希望不是......
我意识到WS必须是独立于平台的,使用的类型不仅可以从.net或其他任何地方访问。 那么确保你只使用这些基类型而不是将它们全部包装在自定义对象中,将所有这些“属性”作为单独的参数传递的想法是什么? 任何帮助非常感谢
感谢
NAT
答案 0 :(得分:2)
如果您使用的是旧版(即旧版)ASP.NET Web服务,则基本上有两个选项:
Convert them to WCF services 并使用服务参考(而不是简单的参考)来使用它们。 WCF服务 support reuse of classes 。
如果您希望继续使用传统的网络服务技术,则必须采取 customizing the way the proxy class is generated 的方法。