wse 3.0或wcf以及从哪里开始

时间:2008-12-22 11:53:40

标签: c# wcf web-services

我创建了一个Web服务,它有几种使用.net 3.5开发的方法。将访问Web服务的客户端将使用.net 3.0。 我被要求使这个网络服务“安全”,并在网上看到了许多选项。

首先是使用带有.net 3.5的WCF作为服务。如果我使用.net 3.5开发服务我是否还需要使用3.5来开发客户端?

其次,我可以看一下使用WSE 3.0并以这种方式实现安全性。无论如何查看.net,我都知道在使用Visual Studio 2008时使用WSE 3存在一些问题。

非常感谢任何其他建议。我想保护Web服务,因此使用WCF或WSE 3.0。

2 个答案:

答案 0 :(得分:9)

WCF框架是.NET 3.0的一部分,而不是.NET 3.5,因此您不需要在客户端使用.NET 3.5。

使用WCF,您还可以提供基于Web服务标准的服务。这些服务甚至可以用于“旧”Web服务客户端或其他平台,如Java。

基于凭据的WCF消息安全性正在实现WS-Security 1.1标准,该标准也可以与WSE客户端一起使用。

  

http://msdn.microsoft.com/en-us/library/ms735093.aspx:   WCF支持各种各样的   互操作性方案。该   BasicHttpBinding类的目标是   基本安全配置文件(BSP)和   WSHttpBinding类的目标是   最新的安全标准,如   WS-Security 1.1和   WS-SecureConversation的。坚持   这些标准,WCF安全可以   与Web互操作和集成   在运营中托管的服务   系统和平台以外的   Microsoft Windows。

我肯定会选择WCF解决方案,而不是WSE。我认为WCF是WSE的直接继承者,微软没有进一步改进(甚至WSE主页链接也没有从WSE 3.0下载页面中删除)。

正如Alex所说,尽管有标准,但连接到非MS平台可能具有挑战性。在这些情景中肯定需要概念证明。

答案 1 :(得分:4)

我最近在将一个WCF客户端连接到Apache Axis提供的WS- *服务时遇到了一些问题,并且必须恢复到WSE 3.0才能使其正常工作。我不知道这是WCF还是Axis的错误,但无论哪种方式,两个最高配置的WS- *堆栈都无法正常互操作也不会令人印象深刻。

鉴于仍然需要使用WSE 3.0,MS也几乎不赞成WSE 3.0也是一种耻辱:

  • Gaspar提到的网页内容
  • 你必须摆弄命令行才能使用VS2008的WSE 3.0