莫相离 发表于 2015-1-18 11:21:54

ASP.NET编程:WCF进修履历分享,怎样更好地进修WCF?仓酷云

一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。  WCF散布式开辟进修,应当从那里入手下手?
  进修WCF是否是就不必要进修EnterpriseSevices(COM+).NetRemoting、WebService(ASMX)、WSE3.0和MSMQ动静行列?
  WCF散布式开辟进修,怎样制订一个公道的企图,才干更好地进修WCF散布式使用开辟。应当从那里入手下手?
  怎样下载和安装WCF开辟相干的组件。
  有甚么好的进修书本、论坛?
  对良多WCF进修的初学者来讲,常常这些都是要面对的成绩。
  明天收拾这个文章,起首是但愿对很多WCF的进修者,有个匡助。其次就是算是对《WCF散布式开辟步步为赢》系列课程的一个完美。
  这个成绩一向是良多开辟者存眷的成绩.依照微软的说法,WCF是微软散布式使用程序开辟的集年夜成者。因而良多人就以为进修WCF编程,就不必要懂得其他的手艺.这个说法有必定的事理.WCF的呈现的确办理了良多成绩,它整合了.Net平台下一切的和散布式体系有关的手艺,比方.NetRemoting、ASMX、WSE和MSMQ。以通讯(Communiation)局限而论,它能够跨历程、跨呆板、跨子网、企业网以致于Internet;能够以ASP.NET,EXE,WPF,WindowsForms,NTService,COM+作为宿主(Host)。开辟职员能够构建跨平台、平安、牢靠和撑持事件处置的企业级互联使用办理计划。既然WCF云云壮大,开辟者再不必往分离懂得.NetRemoting,ASMX等各类手艺了。
  我也碰到过相似的成绩,如今就把本人和他人的一些履历与人人分享,但愿对WCF的喜好者有参考感化。
  【1】甚么是WCF:
  WCF全称WindowsCommunicationFoundation,是Microsoft为构建面向服务的使用供应的散布式通讯编程框架,是.NETFramework3.5的主要构成部分。利用该框架,开辟职员能够构建跨平台、平安、牢靠和撑持事件处置的企业级互联使用办理计划。
  依据微软官方的注释,WCF(之前的版本名为“Indigo”)是利用托管代码创建和运转面向服务(ServiceOriented)使用程序的一致框架。它使得开辟者可以创建一个跨平台的平安、可托赖、事件性的办理计划,且能与已有体系兼容合作。WCF是微软散布式使用程序开辟的集年夜成者,它整合了.Net平台下一切的和散布式体系有关的手艺,如EnterpriseSevices(COM+).NetRemoting、WebService(ASMX)、WSE3.0和MSMQ动静行列。以通讯(Communiation)局限而论,它能够跨历程、跨呆板、跨子网、企业网以致于Internet;以宿主程序而论,能够以ASP.NET,EXE,WPF,WindowsForms,NTService,COM+作为宿主(Host)。WCF能够撑持的协定包含TCP,HTTP,跨历程和自界说,平安形式则包含SAML,Kerberos,X509,用户/暗码,自界说等多种尺度与形式。也就是说,在WCF框架下,开辟基于SOA的散布式体系变得简单了,微软将一切与此相干的手艺要素都包括在内,把握了WCF,就相称于把握了叩开SOA年夜门的钥匙。
  Web服务中包括了用于使用程序间通讯的尺度协定,它在环球局限内的普遍采取改动了软件开辟。比方,现在Web服务供应的功效包含平安性、散布式事件和谐和牢靠的通讯。Web服务所产生的这些改动的效益应反应在开辟职员所利用的工具和手艺方面。计划WindowsCommunicationFoundation(WCF)的目标是为散布式盘算供应可办理的办法,供应普遍的互操纵性,并为服务定位供应间接的撑持。
  范例化编程模子(称为“服务模子”)计划用来下降散布式使用程序的开辟难度,并为ASP.NETWeb服务、.NETFramework远程处置和企业服务范畴的专业开辟职员,和将要处置WCF开辟的职员供应熟习的开辟体验。该服务模子的特性在于它将Web服务的观点间接映照到.NETFramework大众言语运转库(CLR)中的对应内容,包含将动静天真且可扩大地映照到用诸如VisualC#或VisualBasic等言语完成的服务。该服务模子供应撑持松懈耦合和版本办理的序列化功效,并供应与诸如动静行列(MSMQ)、COM+、ASP.NETWeb服务、Web服务加强(WSE)等现有.NETFramework散布式体系手艺和良多其他功效的集成和互操纵性。(参考MSDN)
  【2】怎样进修:
  既然WCF先容里提到了以上手艺观点:
  手艺集成:EnterpriseSevices(COM+).NetRemoting、WebService(ASMX)、WSE3.0和MSMQ动静行列
  宿主程序:ASP.NET,EXE,WPF,WindowsForms,NTService,COM+作为宿主(Host)。
  【2.1】必备手艺条件:
  (1).NET基本常识,包含CLR,基础类库等观点。
  (2)c#大概VB.NET,任何一个时机.NET平台的编程言语。今朝是c#为主。
  (3)ASP.NET及IIS收集使用程序相干常识
  (4)VisualStudio开辟工具纯熟利用。
  【2.2】可选手艺前提:
  (1)EnterpriseSevices(COM+),企业服务使用程序,微软.NET平台下对COM+的一个包装。集成了COM+的特征。
  (2).NetRemoting,.NET平台下散布式情况里使用程序通讯的手艺,合适企业局域网,效力较高。
  (3)WebService(ASMX),微软推出的基于ASP.NET框架的WebService手艺。开辟和部署复杂。
  (4)WSE3.0,这里是一个过渡手艺。已呈现了IIS外托管WebService,撑持传输优化等特征,平安模子进一步提拔。
  (5)MSMQ动静行列,微软平台下,对照成熟的一个手艺,合适构建离线动静和松耦合的体系。
  【3】进修资本:
  1.那边猎取最新的VisualStudio大概the.NetFramework?
  微软公布了SP1forVS2008和.NetFramework3.5,这是最新的毗连:
  VisualStudio2008SP1:http://www.microsoft.com/downloads/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&displaylang=en
  VisualStudioExpressSP1:http://www.microsoft.com/express/sp1/
  .NetFramework3.5SP1:http://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=en
  微软公布了VS2010和.NetFramework4.0,这是最新的毗连:
  VisualStudio2010Beta2:http://msdn.microsoft.com/en-us/netframework/cc896557.aspx
  2.那里有WCF文档和代码示例?
  .NetFramework3.5MSDN文档和例子
  文档:http://msdn2.microsoft.com/en-us/library/ms735119(VS.90).aspx
  文档:http://msdn2.microsoft.com/en-us/library/ms751514(VS.90).aspx
  例子下载:http://go.microsoft.com/fwlink/?LinkId=87352
  WCF社区
  社区:http://wcf.netfx3.com/
  WCF平安导游
  视频,教程,和例子:http://www.codeplex.com/WCFSecurity
  WCF4.0:WCF4.0新特征体验(1):WCF4.0新特征预览及进修资本保举
  3.WCF书本:
  (1)《ProgrammingWCFServices》,JuvalLowy著,批评:内容具体,基本,周全。英语好的能够看英语版。
  《WCF服务编程》,JuvalLowy著,中文版本由张逸、徐宁翻译。书本印刷质量一样平常。初学和有点基本的伴侣能够看看。
  (2)WindowsCommunicationFoundationUnleashed,(美)CraigMcMurtry;MarcMercuri;NigelWatling;MattWinkler.
  中文名字《WCF揭秘》,赵科平翻译。批评:不合适初学者,算是中级教程。倡议有必定WCF编程基本的人
  (3)LearningWCF:AHands-onGuide。MICHELELEROUXBUSTAMANTE。例子良多。中文版本由庞引明;侯伯薇翻译。
  《进修WCF:从道理到理论》。原书大概很不错,可是中文翻译版本批评一样平常。说是翻译的辞汇对照拗口。看中文名字团体感到应当是WCF进修手册大概指南对照贴切。有乐趣的伴侣能够看看原文图书。
  (4)EssentialWindowsCommunicationFoundation(WCF):For.NETFramework3.5(Microsoft.NETDevelopmentSeries)bySteveResnick,RichardCrane,andChrisBowen《WCF实质论》,作者bySteveResnick,RichardCrane,andChrisBowen
  不错的书本,Amazon上批评不错,和《WCF服务编程》一样属于解说具体,普通易懂的书本。能够作为进门进修书本,也能够作为开辟的参考手册。常识点很明晰。
  (5)《InsideMicrosoftWindowsCommunicationFoundation》。JustinSmith师长教师所著.中文译名为《WCF手艺内情》,FrankXuLei(我自己,今朝没有正式出书)翻译。很好的体系先容WCF底层框架布局和通讯道理的书本。从构建面向服务的(SOA)使用体系角度动身,对WCF框架做了具体的架构性剖析。别的,这本书也给了我们一些理论方面的引导,并供应了很多示例代码。合适WCF初级开辟职员和架构师。
  以上书本都是Amazon上评价很好的书本,4星半,靠近5颗星,的确值得一读,倡议人人看英文原著书本,这些书本都是WCF典范著作。并且作者的程度很高,不管手艺气力,仍是事情履历,都已失掉偕行的承认。
  4.保举论坛:
  【中文论坛】:微软WCF中文手艺论坛,建立不久,付仲恺年老在WebCast教学《构建WCF面向服务的使用程序系列课程》常回覆人人的成绩。接待会见。
  【英文论坛】:微软WCF英文手艺论坛,老外良多,成绩品种计划各个方面。也很专业。基础WCF相干的成绩都能够办理大概找到提醒。
  【4】总结:
  最初的倡议:
  (1)是最好对之前的手艺有所懂得,进修手艺立场要踏实。假如你是老手,有充足的工夫,倡议你从基本学起,现懂得EnterpriseSevices(COM+).NetRemoting、WebService(ASMX)、WSE3.0和MSMQ动静行列等相干观点今后,再来进修WCF手艺。我收拾了WCF散布式开辟必备常识(4)和WSE3.0构建Web服务平安(4)系列,对这些手艺举行了收拾。给出了能够实行的代码。人人能够参考。
  (2)假如项目工夫紧急,能够间接奔WCF编程进修,可是等本人工夫丰裕的话,倡议仍是转头好勤学习一下。最少是有个懂得。不会在会商这些手艺成绩的时分老是一脸的茫然。比方了解WCFIIS托管,就必需对IIS和ASP.NET底层相干常识有深切的懂得。想把握WCF平安编程,对WS-security常识要熟习。不然很难了解WCF的平安模子。
  (3)基本决意高度。在WCF进修的立场上,仔细一些,我们一步一个脚迹,必定会成为有良多劳绩。这个实在也是一般进修手艺的一个立场。手艺必要一个堆集的历程。
  (4)理论是查验真谛的独一尺度。呵呵,下手才干更好地舆解WCF的一些手艺观点,对相干特征才干深切体味。只是夸夸其谈,没有太多实践意义。最年夜的劳绩来之于实验。进修最好的体例就是:WCFinPractice!
  (5)但愿对一切的WCF手艺初学者,都能有所启发或匡助!
  (6)妙手的话,能够研讨WCF底层相干的常识,好比线程模子、平安协定,通道模子等等。
  也但愿WCF先辈多多增补。分享进修履历,保举进修书本。给新人以提醒。由于常常和一些WCF喜好者会商这个成绩。
有个问题想请教你一下,呵呵:)你觉得将来学什么方向比较好,我真是想不出来,知道的太少了,麻烦了。

飘飘悠悠 发表于 2015-1-20 21:46:59

由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。

蒙在股里 发表于 2015-1-30 05:48:04

ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。

再现理想 发表于 2015-2-7 01:00:56

关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。

第二个灵魂 发表于 2015-2-19 05:00:30

通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。

灵魂腐蚀 发表于 2015-3-4 03:33:41

由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。

透明 发表于 2015-3-7 03:38:52

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

柔情似水 发表于 2015-3-12 13:51:11

比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。

深爱那片海 发表于 2015-3-19 22:20:39

CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。

不帅 发表于 2015-4-4 09:34:46

我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。
页: [1]
查看完整版本: ASP.NET编程:WCF进修履历分享,怎样更好地进修WCF?仓酷云