2008-10-21 131 views
1

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

任何人都可以建议我应该开始使用.NET框架吗?

回答

5

您即将搬到新平台。我会去WCF。它可以支持您的所有需求。

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

1

我投赞成票WCF,举手。

1

对于像你这样的桌面应用程序,将数据作为JSON传递并没有多大意义。它的主要用途是允许从Web浏览器更容易地访问。虽然他们服务于不同的目的,但REST也可以这样说。

对于两个.NET应用程序的通信,在我看来,WCF是要走的路。尽管对于很多人来说,ASMX更容易符合他们的思维方式(只需用WebMethodAttribute来修饰某些东西,然后就完成了),但我不会推荐它,因为缺乏体面的授权/认证/加密(选择任何)以及其方式使用似乎不再受到微软的鼓励。顺便说一句,你也可以看一下WSCF - Web Services Contract First。不幸的是,现在你有更多的选择可供选择。 :)