我可以在.NET 4应用程序中使用WSE3,与旧的Web服务进行通信吗?

mik*_*nne 4 .net wcf wse .net-4.0

我有一个.NET 3.5库程序集,它使用WSE 3.0与外部Web服务进行通信.我们将系统升级到.NET 4,但外部Web服务将保持不变.(编辑:不确定它是否相关,但外部Web服务是用Java实现的)

为了尽可能快地完成迁移过程,除非绝对必要,否则我不想更改系统代码.一旦我将系统更新到.NET 4,WSE3库是否仍然可以工作?

我已经看到几个问题表明我们不应该再使用WSE来构建web服务(参见下面的参考资料).但是,我将它纯粹用作客户端,与外部Web服务进行通信,因此我对它是否有效感到困惑.

参考文献:

Dav*_*vid 6

我上周遇到了同样的情况,答案是否定的(或者至少不容易,并且在谷歌搜索6小时之后无法找到.)部分问题是没有选项可以从Visual Studio启用WSE在VS 2010(或VS 2008,就此而言).

但是,从好的方面来看,很容易使用VS2010中的"添加服务引用"工具指向Web服务,并添加服务引用(新样式)而不是"Web引用".在我试着通过Web服务参考找出如何获得对WSE的支持之后,我只是试着用新方法拍摄,而Visual Studio非常聪明,可以正确处理它.它能够创建一个可以与服务器通信而无需额外配置的客户端.

主要区别在于,新工具不是为允许您在代理类上调用函数的服务生成代理类,而是为服务创建Client类,允许您使用客户端执行方法.当你习惯它时,它实际上是一个非常小的变化.一旦我弄清楚差异,一些全局查找和替换操作处理更新必要的代码.

编辑

去搞清楚.这一次,我在谷歌搜索的第一分钟找到了答案.

你可以启用第一段中提到的那个选项,我敢打赌它会起作用.

但是,我将离开我的其余部分,因为现在切换到新的方式仍然可能更好.

http://www.junasoftware.com/blog/how-to-use-wse-3-in-visual-studio-2010.aspx

  • 应尽可能使用WCF代替WSE.如果可能,在服务器上,但无论如何在客户端上. (2认同)