使用传统的Web服务或在VS2008 / C中使用WCF#

时间:2009-04-30 16:02:44

标签: wcf

我有机会进入WCF,但在交付时间上有时间限制。我可以在迭代中提供我的服务,如果WCF是要走的路,我可以花更多的时间来克服学习曲线。

现在的标准是什么? WCF是可行的吗?

5 个答案:

答案 0 :(得分:6)

我现在已经遇到过这个问题了几次,所以根据我自己的经验和其他人,只有你愿意接受学习曲线时才去WCF。创建对象毫不费力,非常简单易用。但...

一些常见的陷阱:

  • 默认绑定是wsHttpBinding,默认情况下是安全的。如果你想要更传统的东西,请使用basicHttpBinding。
  • 如果您在IIS中托管,请确保设置主机标头或xsd uri引用都将是localhost或服务器名称。
  • 使用WCF配置实用程序,在配置端点时会有很多帮助。

答案 1 :(得分:4)

  • 微软已经表示WCF是Web服务的替代品。
  • 在学习基本语法后,更换Web服务将使WCF服务不是特别困难。
  • WCF服务提供Web服务所做的一切,并允许您在其他环境中部署相同的组件 - 您可以将组件部署为Web服务或粘贴在Windows服务中以提供与其他软件相同的功能,或者打耳光它可以与您的任何其他代码进行处理 - 无需更改服务中的代码。
  • 可以配置WCF以提供更好的安全性。

说真的,抓住Juval Lowy出色的“编程WCF服务”的副本并阅读第一章。创建一些服务,很快你就会意识到它并不像初看起来那么困难。

WCF是.NET中组件的未来。 Web服务已成为过去。

答案 2 :(得分:3)

这应该是一个明智的选择。太糟糕了,不是。

答案是WCF。它取代了旧的ASMX Web服务。说WCF是未来是不确切的 - 它就是现在,ASMX已成为过去,迅速成为古老的历史。

您需要学习如何使用ASMX服务执行相同操作的WCF子集非常简单。

  1. 您不需要通过basicHttpBinding知道任何绑定。使用它,您的客户端程序甚至可以继续使用Web引用。
  2. 您需要学习不要担心数据合同被序列化的XML细节。
  3. 您需要了解将被序列化的DataContract的唯一部分是标记为[DataMember]的部分。这是一个“选择加入”模式,而不是您使用XML Serializer的“选择退出”模型。
  4. 您需要学习使用标有[ServiceContract]
  5. 的界面定义服务合同
  6. 您不需要[WebService]类,只需要实现[ServiceContract]接口的类。
  7. 这就是全部,真的。你会很快学到它。剩下的就是“肉汁”。它是一种非常浓郁的肉汁,里面有很多“肉”,但你可以把它留在一边,或者只要你想要它就可以吃一点。

答案 3 :(得分:1)

如果您的服务需要通过多种通信协议提供,并且您需要配置安全性,那么WCF就是您的选择。

如果只需要通过HTTP和/或HTTPS提供服务,那么如果您有时间限制,ASMX Web服务将是您的选择

答案 4 :(得分:0)

一旦你获得WCF设置,它太棒了!使用SQL& LINQ通过WCF返回你的数据(对我来说)更快!!

有一点需要注意:证书!

那里有很多问题!这link有所帮助。

祝你好运!

相关问题