哪个Web服务框架?

时间:2008-10-21 17:07:08

标签: .net web-services

我即将开始将基于C#的桌面应用程序转换为基于Web的应用程序。出于几个原因,我想通过Web服务从逻辑中删除GUI。微软有asmx文件,WCF,下周可能是PDC的新东西。数据可以通过SOAP,REST,JSON以及其他12种方式传递。

有人建议我开始使用.NET框架吗?

4 个答案:

答案 0 :(得分:5)

您即将迁移到新平台。我会去WCF。它可以满足您的所有需求。

最初,当您移动时,您可以使用httpBinding,这与ASMX Web服务非常接近,并且基于SOAP。如果您以后需要一些高级功能,那么您绝对可以使用webHttpBinding,这将为您提供基于REST和JSON的界面。 WCF是非常强大的编程模型,你一定要转向它。

答案 1 :(得分:1)

我投票支持WCF,请放下手。

答案 2 :(得分:1)

如果您想要SOAP,REST和JSON选项,那么您可能需要查看WCF Web Programming ModelWCF JSON support,尽管我个人对REST实现并不满意。但是WCF以configuration hell为代价提供了最大的灵活性。一定要熟悉它diagnostics and svcTraceViewer,以免你得到可疑的,毫无用处的例外情况。并注意生成的客户端broken implementation of the disposable pattern

答案 3 :(得分:1)

对于像您这样的桌面应用,将数据作为JSON传递并没有多大意义。它的主要用途是允许从Web浏览器更轻松地访问。尽管它们用于不同的目的,但REST也可以这样说。

对于两个.NET应用程序进行通信,在我看来,WCF是最佳选择。虽然对于很多人来说ASMX更容易适合他们的思维方式(只是用WebMethodAttribute装饰一些东西而你已经完成)我不推荐它,因为缺乏合适的授权/认证/加密(挑选任何)以及它的方式微软似乎不再鼓励使用它了。

顺便说一句,你也可以看看WSCF - Web Services Contract First。不幸的是,现在您有更多选择可供选择。 :)