学习WCF的基础知识

23

对于刚开始学习 WCF 的人,我应该首先关注和学习哪些主要/基本事项?

您建议首先学习哪些概念,以便在WCF中提高生产力?

您会向正在学习WCF的人推荐哪些资源/文章/培训课程/书籍?

例如,在C#中,可以在后期学习LINQ。类似地,在WCF中,也应该先学习基础知识,然后再投入时间学习高级功能以增强生产力。

8个回答

10

我一直推荐的快速上手WCF的书是Michele Leroux Bustamante所著的Learning WCF。她以易懂且通俗的方式涵盖了所有必要的主题,包括基础知识、中级话题、安全性、事务控制等等。这本书将教你如何编写高质量、有用的WCF服务。

alt text

除了这本书外,我还从以下两个关于WCF的一小时视频中学到了很多:


+1 对于 DNRTv 链接的推荐,特别是 #122。 - TGnat
你好,你知道在哪里可以购买该书的PDF版本吗? - eran otzap

9

我喜欢这个网站:http://wcfguidanceforwpf.codeplex.com/

它专为WPF开发人员设计,帮助他们学习WCF。但是即使你对WPF不太熟悉,我也建议你去看看。

此外,我总是建议大家使用一些教程,展示如何在不使用Visual Studio的“Add Service Reference”工具的情况下使用WCF。这是VS中的一个工具,可以指向WCF或其他Web服务,并生成一堆基础类来帮助您轻松连接到该服务。大多数教程都会让您创建一个服务,然后使用Add Service Reference创建该服务的客户端,至少最初是这样。

我强烈推荐像上面提到的那种教程,或者像这个那样的教程(如果你想更快地开始打字,bugmenot.com有devx.com登录名可供使用,如果您不想注册),因为它真正强化了WCF的核心思想:如果应用程序想要消费服务,它只需要知道ABC:服务的地址、要使用的绑定类型和协定(服务上的方法以及它用作参数和返回类型的类)。

还要注意,许多教程仍然是针对VS2008的。虽然没有太多变化,但新手可能会感到困惑的一件事是,在.NET 4 / VS2010中,绑定的XML配置已经重新设计,以更好地使用默认值。VS 2010为您开始生成的配置文件比以前短,看起来似乎缺少必要的信息,但实际上它们只是使用了默认值。



5
如果您想快速学习基础知识(ABC),请查看Dime Casts,WCF
视频(每个约10分钟)
  • 介绍WCF:创建第一个服务
  • 从.asmx Web服务迁移到WCF Web服务
  • 学习如何使用WCF服务
  • 查看如何将WCF服务项目分为多个部分
  • 向您的WCF服务添加IoC支持
这意味着您可以在一个小时内有一个很好的想法 :) 史诗级胜利

你提到的链接非常酷,谢谢 :-) - Wondering

4

不要错过这本伟大的书:

alt text
Ron Jacobs, (微软WCF高级技术推广员)在前言中写道:"最好的证明是在Redmond 42号楼的走廊上漫步(那里是WCF团队工作的地方);在许多办公室里,你会看到Programming WCF Services放在书架上。"
所以我得出结论,微软团队首先编写了WCF,然后他们购买了这本书来理解他们实际上编写了什么!!

但是说真的,我强烈推荐这本书,不仅可以理解WCF,还可以学习世界上最杰出的分布式系统专家之一Juval Löwy如何思考和看待WCF以及设计企业SOA应用程序的概念。


1
很棒 - 但几乎更偏向于中高级水平 - 不一定适合初学者... - marc_s
1
完全同意,但是如果时间上只能读一本WCF书籍,并且忽略了这本书,那么你将会错过很多,即使你是一个初学者。 - Morteza Manavi
你好,你知道在哪里可以购买这本书的PDF版本吗? - eran otzap
您可以从 oreilly.com 获取PDF版本。 - OldFart

2

2
学习WCF的ABC:"地址,绑定,合同"。最好在互联网上寻找教程,如上所述,然后创建自己的服务,在控制台应用程序中托管该服务,然后使用VS2008/10添加服务引用来创建与wcf服务的客户端接口。当您掌握了这些技能之后,一定要投资购买Michelle或Juval的书籍,它们是业内最好的书籍。虽然有很多信息可能会让学习WCF变得困难,但请专注于ABC并从特定的绑定和地址类型开始逐步学习。

2

首先要理解服务导向理论,以及为什么我们需要在现代开发中如此依赖服务。这项研究应包括对面向服务体系结构(SOA)的研究,以及SOAP协议在高层次上的工作原理。这还应涵盖如何有效地隔离接口以及适当的信息级别。关键词包括:连贯性、一致性、内聚性和分布式设计。
其次学习所谓的WCF框架的ABC(地址、绑定和契约),或者说是WCF的基础知识。确保您理解绑定只是关于传输协议、消息编码、通信模式、可靠性、安全性、事务传播和互操作性的一致、预定义的选择集合。
然后研究WCF中的托管选项,其中包括不必担心服务的创建和处理、Web服务的按需可用性等。但是,这种方法的一个主要缺点是不支持HTTP以外的协议。WCF具有被其他协议调用和使用的可能性。因此,除了IIS之外,WCF还可以以不同的方式进行托管,以充分利用其全部功能(如果需要)。关键词包括:IIS、WAS和自托管Windows服务。
接下来探索标记各种契约的各种微妙之处。这包括服务契约、数据契约、故障契约和消息契约。将此与您的标记最终如何转换为WSDL契约和XSD数据契约类型的理解联系起来。在此阶段,您还应进行一些关于向后和向前兼容性的调查。
在某个阶段,安全性将成为一个因素,因此下一步是熟悉消息和传输安全性。此时,开始将您的知识与WS-*标准联系起来。更具体地说是安全标准。
接下来学习不同的并发模型以及如何为可扩展性设计WCF服务。
WCF是非常可扩展的,在这个阶段开始尝试使用行为,并深入了解框架的评估顺序。
尝试服务限制。
尝试不同的协议。
在这个阶段,你应该已经相当熟练了...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接