年前辞职-WCF入门学习(1,2)
前言
周一的时候辞职了,离开了从12年毕业后8月份开始一直到现在的公司。
辞职之后当然是玩。玩了若干天的游戏,真的是没日没夜啊,但是玩的太坑,怒删游戏。话说上次玩还是在14年7月份。下次还是过年回家再和小伙伴一起玩。想到过年也就7天的假。。。。
21号驾照考试,考完22号去新公司报到。
新公司WCF用的比较多,以前纯粹站在了使用者的角度,自己是没写过,想到如果去了之后技能不过关,没过试用期就被fired了的话不太好。
优酷上找了一下,没有太好看的WCF教程,先不说内容,对我来说那种不是wuma gaoqing 的视频,看起来就不舒服。博客园上倒是有一些文章,看作者都是nb的人物,但都是文字,没有视频看的舒服。优酷不行,YouTube上还是有收获的,链接放这里。
https://www.youtube.com/watch?v=QmfPmqMk9Xs&list=PL6n9fhu94yhVxEyaRMaMN_-qnDdNVGsL1
接下去出个系列笔记,视频总共53集,有的看了。
本人初学者,有说的不对的地方,欢迎指正,先行谢过。
第一集 Introduce to WCF
https://www.youtube.com/watch?v=QmfPmqMk9Xs&list=PL6n9fhu94yhVxEyaRMaMN_-qnDdNVGsL1&index=1
回答两个问题,
什么是WCF。WCF是Windows Communication Fundation的缩写,是微软在.net 3.0 的时候引进的,用于开发可交互的分布式应用程序。所谓的分布式应用程序,按百度百科来讲,是指:应用程序分布在不同计算机上,通过网络来共同完成一项任务。附上链接:http://baike.baidu.com/view/553502.htm 。所谓的可交互就是说一个程序可以和其他任意的应用通信,且不受语言与平台的限制。WebService 是可交互的,.Net Remoting 不是(看名字就知道了)。
为什么要用WCF。我们可能会要做一个带支付系统的电子商务网站,支付这块我们可能会用支付宝,这就需要使用支付宝提供的支付服务。从可扩展性的角度来说,我们的三层架构中UI,BLL,DAL有可能都是放在不同的机器上(我没写过,视频上是这么说的,觉得有道理) 。
有如下情况,我们要为两个客户端提供一个服务,一个是java客户端,需要通过http提供xml格式的数据,另一个.net 客户端,为了有更好的性能,.net 客户端需要服务通过tcp协议提供二进制数据。这时候WCF就派上用场了。
如果没有WCF,为了达到上面的目的,我们需要给java客户端实现一个ASMX WebService,给.net 客户端实现一个remoting service。这完全是两种不同的技术,实现起来相对来说麻烦很多。
有了WCF,只需要给相应的客户端配置节点end point,每个客户端一个point。
第二集 Creating a Remoting service & a Web Service
https://www.youtube.com/watch?v=3Qt7TTS1u4A&list=PL6n9fhu94yhVxEyaRMaMN_-qnDdNVGsL1&index=2
先上个总体图
直接截的屏幕。第一个是给java用的WebService ,第二个是给Windows Form 客户端用的Dot Net Remoting Service。下面讲具体实现。
先是WebService:
首先,新建一个空网站,然后添加新项: Web服务,取名HelloService。更改一下WebMethod 的名字,
[WebMethod]
public string GetMessage(string name)
{
return "Hello " + name;
}
然后 ,
文本框里面输入lou,
点击invoke ,如图,得到了xml 格式的内容。
这样就实现了一个WebService。java客户端就能调用了。
接下去是.net Remoting 。没有用过.net Remoting,视频上也说了,今天的主角是WCF,根据百度百科,从功能上来说,WCF是WebService ,.Net Remoting 以及其他一些东西的集合。后面内容还挺长。。。。
要让一个Class remotable ,两种方式,① 给Class 加上SerializableAttribute,也就是可以序列化。②,让他继承自MarshalByRefObject。然后,然后就没有然后了。。。。看着犯困。。感兴趣的同学可以看一下,链接在上面。
作者也说了,“你们也看到了,为了给两个客户端提供同一个服务,你要写两份完全不同的代码,坑啊。”
第三章会讲一下如何用WCF来实现上述需求。先到这里。
年前辞职-WCF入门学习(1,2)的更多相关文章
- 年前辞职-WCF入门学习(4)
前言 上一篇的学习中碰到一个问题,用地址http://localhost:8080/mex 访问元数据的时候一直提示400 bad request 错误,因为时间太晚了,查了好几遍代码,也没有发现问题 ...
- 年前辞职-WCF入门学习(5)
前言 第五集比较简单,视频也只有7分多钟,但是用处还是挺大的.下面我会介绍. 本来想第六集一起介绍的,后来发现第六集内容比较多,有半个多小时,就不一起了.网站规定6小时内只能发布一篇文章到首页,,那我 ...
- 年前辞职-WCF入门学习(3)
前言 [2了,刚写好的,手贱,点了删除,还真TMD的删除了,只好重写] 今天周六,去同事家聚了一个餐,感觉各种豪华. 废话不多说,前两集大致介绍了一下什么是WCF以及和WCF相关的WebService ...
- 年前辞职-WCF入门(6)
前言 昨天早上去医院做入职体检,被告知要预约,本以为是要排队,我连视频都准备好了...结果就回来了.下午去了新公司那边找房子,2了,因为公司提供了班车列表,我既然就只在班车所经过的几个地方找,却遗漏了 ...
- WCF入门学习2-控制台做为宿主
Step1.创建一个WCF类库和一个控制台程序. Step2.引用WCF项目. Step3.添加这两个引用. //本段代码出处 无废话WCF入门教程系列 Uri baseAddress = new U ...
- 菜鸟级别的WCF入门学习
这两天学习WCF,看了MSDN上的入门教程,和查找了一些网上给的例子,简单的实现了一下,感觉应该很适合我这种菜鸟级的选手看了. 1.新建一个项目--WCF--WCF服务应用程序 用的是MSDN上的加减 ...
- WCF入门学习3-配置文件与部署iis
配置文件设置 --------------------------------------------------- 创建的时候都会有个配置文件,其实有一个WCF配置编辑器,右键就可以点出来设置. 需 ...
- WCF入门学习1-最简单的一次通信
跟着msdn的教程试了一下wcf,真心好用 1.先创建一个wcf服务库,是服务类库,远程的lib 2.全部按照默认设置,不修改.然后点发布,会出现一个wcf测试客户端,可以看有没有发布成功. 3.ms ...
- WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]
WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...
随机推荐
- python lambda表达式简单用法
习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: 1 2 3 4 5 6 7 8 # 普通条件语句 if 1 == 1: name = 'wupeiqi' else ...
- hdu 3987 Harry Potter and the Forbidden Forest 求割边最少的最小割
view code//hdu 3987 #include <iostream> #include <cstdio> #include <algorithm> #in ...
- [转]Asp.NET MVC Widget开发 - ViewEngine
本文转自:http://www.cnblogs.com/hsinlu/archive/2011/03/02/1968796.html 在Asp.NET开发博客类系统,我们经常都会用到Widget,像在 ...
- js/jquery判断浏览器的方法总结
JS获取浏览器信息浏览器代码名称:navigator.appCodeName浏览器名称:navigator.appName浏览器版本号:navigator.appVersion对Java的支持:nav ...
- UVA 12730 Skyrk's Bar --期望问题
题意:有n个地方,现在要站人进去,而每两个人之间至少要隔k个空地,问这n个地方能站的人数的期望是多少. 分析:考虑dp[i]表示 i 个地方能站的期望数,从左往右推, 如果i-k-1<1,那么最 ...
- 第一次使用Android Studio时你应该知道的一切配置(二):新建一个属于自己的工程并安装Genymotion模拟器
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Linux下php安装memcache扩展
安装环境:CentOS 6.4 php扩展memcache的作用是为了支持memcached数据库缓存服务器,下面是安装方法. 1.下载 下载地址:http://pecl.php.net/packag ...
- sqlzoo.net刷题5
List the continents that have a total population of at least 100 million. 这题考察的是使用集聚函数生成表之后,如何过滤 一般我 ...
- 或得的一个div是变量时
- yslow性能优化的35条黄金守则
参考Best Practices for Speeding Up Your Web Site Exceptional Performance 团队总结了一系列优化网站性能的方法,分成了7个大类35条, ...