年前辞职-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代码方式来 ...
随机推荐
- 动手学习TCP:服务端状态变迁
上一篇文章介绍了TCP状态机,并且通过实验了解了TCP客户端正常的状态变迁过程. 那么,本篇文章就一起看看TCP服务端的正常状态变迁过程 服务端状态变迁 根据上一篇文章中的TCP状态变迁图,可以得到服 ...
- [转]SQLServer SQL执行效率和性能测试方法总结
本文转自:http://www.zhixing123.cn/net/27495.html 对于做管理系统和分析系统的程序员,复杂SQL语句是不可避免的,面对海量数据,有时候经过优化的某一条语句,可以提 ...
- 【对比分析八】null和undefined的区别
(1). null是一个表示"无"的对象,转为数值时为0 undefined是一个表示"无"的原始值,转为数值时为NaN (2). 当声明的变量还未被初始 ...
- [转]MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验
本文转自:http://liangweilinux.blog.51cto.com/8340258/1728131 年,嘿,废话不多说,下面开启MySQL优化之旅! 我们究竟应该如何对MySQL数据库进 ...
- 深搜+DP剪枝 codevs 1047 邮票面值设计
codevs 1047 邮票面值设计 1999年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description ...
- [cocos2dx] 让UIButton支持disable状态
摘要: 主要解决cocos2dx-2.2.2版本中, UIButton显示不了disable状态图的问题. 顺便, 理解了一下cocos2dx中UIWidget的渲染原理. 博客: http://ww ...
- C# 使用NLog记录日志
NLog是一个记录日志组件,和log4net一样被广泛使用,它可以将日志保存到文本文件.CSV.控制台.VS调试窗口.数据库等.最近刚用到这个组件,觉得不错,水一篇. 下载 通过Nuget安装NLog ...
- 算法分析 Analysis of Algorithms -------GeekforGeeker 翻译
算法分析 Analysis of Algorithms 为什么要做性能分析?Why performance analysis? 在计算机领域有很多重要的因素我们要考虑 比如用户友好度,模块化, 安全性 ...
- Centos7网络监控
EPEL是企业版 Linux 附加软件包的简称,EPEL是一个由Fedora特别兴趣小组创建.维护并管理的,针对 红帽企业版 Linux(RHEL)及其衍生发行版(比如 CentOS.Scientif ...
- EZ GUI Button和Checkbox创建
第一次接触EZ GUI,记录学习过程 准备工作 导入资源 导入 EZ GUI 1.0795.unitypackage 和 SpriteManager2 v1.92.unitypackage EZGUI ...