我理解WCF提供的三部分服务/主机/客户端模型的价值.但是它只是我还是看起来像WCF采取了一些非常直接和简单的东西(ASMX模型)并弄得一团糟?
是否有替代使用SvcUtil的命令行回溯产生代理?通过ASMX服务,自动提供测试工具; WCF今天有一个很好的选择吗?
我很欣赏WS*的东西与WCF更紧密地集成,并希望在那里找到WCF的一些回报,但是geeze,否则我很困惑.
此外,WCF可用的书籍状况充其量也很糟糕.Juval Lowy是一位优秀的作者,他写了一本很好的O'Reilly参考书"编程WCF服务",但是对于我现在学习使用WCF它没有那么多(对我而言).Michele Leroux Bustamante的学习WCF是该书的前身(并且组织得更好,但并不多,作为教程).它有很好的位置,但已经过时,相应的网站已经消失.
你有没有很好的WCF学习参考,除了继续谷歌bejebus的东西?
谢谢,rp
好的,我们走了.首先,Michele Leroux Bustamante的书已经针对VS2008进行了更新.这本书的网站没有消失.它现在正在运行,它有很多很棒的WCF信息.在该网站上,她为本书中的所有示例提供了与VS2008兼容的更新代码.如果您从亚马逊订购,您将获得更新的重印.
WCF 不仅是ASMX的替代品.当然它可以(而且相当不错)取代ASMX,但真正的好处是它允许您的服务自我托管.WSE的大部分功能从一开始就已经完成.该框架具有高度可配置性,并且通过多种协议为多个端点提供服务的能力令人惊叹,IMO.
虽然您仍然可以从"添加服务引用"选项生成代理类,但这不是必需的.您真正需要做的就是复制ServiceContract接口并告诉您的代码在哪里找到服务的端点,就是这样.您可以使用非常少的代码从服务中调用方法.使用此方法,您可以完全控制实现.无论您选择生成代理类的方法如何,Michele都会在这个主题的优秀系列网络广播中展示并同时使用这两种方法.
米歇尔有很多很棒的材料,我建议你查看她的网站.在我学习WCF时,这里有一些对我非常有帮助的链接.我希望你能够意识到WCF到底有多强大,以及实施起来有多容易.学习曲线有点陡峭,但您投入时间的回报非常值得:
Michele的网络广播:http: //www.dasblonde.net/2007/06/24/WCFWebcastSeries.aspx
Michele的书籍网站(活着并为VS2008更新):http: //www.thatindigogirl.com/
我建议你至少观看一次Michele的网络广播.她是一位非常有效的主持人,当涉及到WCF时,她显然非常了解.她从根本上揭开了WCF的内部运作的神秘面纱.
我通常使用Google来查找我的WCF答案,并且通常会在以下博客中找到自己:
有宝贵的WCF文章的博客
http://blogs.msdn.com/drnick/default.aspx
http://blogs.msdn.com/wenlong/default.aspx
http://blogs.thinktecture.com/buddhike/
http://www.dasblonde.net/default.aspx
我发现的其他有价值的文章
http://blogs.conchango.com/pauloreichert/archive/2007/02/22/WCF-Reliable-Sessions-Puzzle.aspx
http://blogs.msdn.com/salvapatuel/archive/2007/04/25/why-using-is-bad-for-your-wcf-service-host.aspx
我很难看到我应该或将要使用WCF的时间.为什么?因为我把生产力和简单性放在我的列表之上.为什么ASMX模型如此成功,因为它起作用,并且让它快速工作.使用VS 2005和.NET 2.0,wsdl.exe正在吐出非常好的兼容服务.
在现实生活中,您的架构中应该只有很少的通信协议.这使其简单易维护.如果您需要访问遗留系统,请为它们编写特定的适配器,以便它们可以在漂亮闪亮和美丽的SOA世界中发挥作用.
WCF比ASMX强大得多,它以多种方式扩展它.ASMX仅限于HTTP,而WCF可以使用多种协议进行通信(授权,HTTP仍然是大多数人使用它的方式,至少对于需要可互操作的服务而言).WCF也更容易扩展.至少,可以以不能扩展ASMX的方式扩展它."简单"可能会拉伸它.=)
在我看来,WCF提供的附加功能远远超过它增加的复杂性.我也觉得编程模型更容易.例如,DataContracts比使用带有公共属性的XML序列化序列化要好得多.它在本质上也更具说明性,这也很好.
等等....你曾经使用.NET Remoting,因为它取代了真正的东西..NET Remoting本身非常复杂.我发现WCF更容易,更好地布局.