Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net Web服务引用骗局_.net_Web Services_Reference_Passthru - Fatal编程技术网

.net Web服务引用骗局

.net Web服务引用骗局,.net,web-services,reference,passthru,.net,Web Services,Reference,Passthru,我有一个.NETWebService(passthrough-WS),它传递给另一个(底层WS),传递一个特定的自定义对象。 这两个WS都包含中具有特定自定义对象类的程序集,但当我将对底层WS的服务引用添加到直通WS时,.net会在直通WS命名空间中生成自己的此类类型。 这意味着我必须在不同的名称空间中使用另一个对象,而不是它真正的名称空间-真正复制“真实”的类/对象。 也许我没有很好地解释这一点 我想我可以手动进入.net生成的服务类并用“正确”的对象替换生成的对象,但每次更新基础服务时我都必

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

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

有办法解决这个问题吗?理想情况下,我希望两个WS都使用相同的对象。 还是我必须向生成的对象添加构造函数,这些对象接受底层的构造函数,然后像这样分配所有属性我希望不是

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

谢谢

nat

如果您使用的是传统(又称旧式)ASP.NET Web服务,则基本上有两种选择:

  • 并使用服务引用(而不是简单引用)来使用它们。WCF服务

  • 如果您想继续使用传统的web服务技术,就必须通过艰难地前进