前言

周一的时候辞职了,离开了从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)的更多相关文章

  1. 年前辞职-WCF入门学习(4)

    前言 上一篇的学习中碰到一个问题,用地址http://localhost:8080/mex 访问元数据的时候一直提示400 bad request 错误,因为时间太晚了,查了好几遍代码,也没有发现问题 ...

  2. 年前辞职-WCF入门学习(5)

    前言 第五集比较简单,视频也只有7分多钟,但是用处还是挺大的.下面我会介绍. 本来想第六集一起介绍的,后来发现第六集内容比较多,有半个多小时,就不一起了.网站规定6小时内只能发布一篇文章到首页,,那我 ...

  3. 年前辞职-WCF入门学习(3)

    前言 [2了,刚写好的,手贱,点了删除,还真TMD的删除了,只好重写] 今天周六,去同事家聚了一个餐,感觉各种豪华. 废话不多说,前两集大致介绍了一下什么是WCF以及和WCF相关的WebService ...

  4. 年前辞职-WCF入门(6)

    前言 昨天早上去医院做入职体检,被告知要预约,本以为是要排队,我连视频都准备好了...结果就回来了.下午去了新公司那边找房子,2了,因为公司提供了班车列表,我既然就只在班车所经过的几个地方找,却遗漏了 ...

  5. WCF入门学习2-控制台做为宿主

    Step1.创建一个WCF类库和一个控制台程序. Step2.引用WCF项目. Step3.添加这两个引用. //本段代码出处 无废话WCF入门教程系列 Uri baseAddress = new U ...

  6. 菜鸟级别的WCF入门学习

    这两天学习WCF,看了MSDN上的入门教程,和查找了一些网上给的例子,简单的实现了一下,感觉应该很适合我这种菜鸟级的选手看了. 1.新建一个项目--WCF--WCF服务应用程序 用的是MSDN上的加减 ...

  7. WCF入门学习3-配置文件与部署iis

    配置文件设置 --------------------------------------------------- 创建的时候都会有个配置文件,其实有一个WCF配置编辑器,右键就可以点出来设置. 需 ...

  8. WCF入门学习1-最简单的一次通信

    跟着msdn的教程试了一下wcf,真心好用 1.先创建一个wcf服务库,是服务类库,远程的lib 2.全部按照默认设置,不修改.然后点发布,会出现一个wcf测试客户端,可以看有没有发布成功. 3.ms ...

  9. 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代码方式来 ...

随机推荐

  1. 动手学习TCP:服务端状态变迁

    上一篇文章介绍了TCP状态机,并且通过实验了解了TCP客户端正常的状态变迁过程. 那么,本篇文章就一起看看TCP服务端的正常状态变迁过程 服务端状态变迁 根据上一篇文章中的TCP状态变迁图,可以得到服 ...

  2. [转]SQLServer SQL执行效率和性能测试方法总结

    本文转自:http://www.zhixing123.cn/net/27495.html 对于做管理系统和分析系统的程序员,复杂SQL语句是不可避免的,面对海量数据,有时候经过优化的某一条语句,可以提 ...

  3. 【对比分析八】null和undefined的区别

    (1).  null是一个表示"无"的对象,转为数值时为0  undefined是一个表示"无"的原始值,转为数值时为NaN (2).  当声明的变量还未被初始 ...

  4. [转]MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验

    本文转自:http://liangweilinux.blog.51cto.com/8340258/1728131 年,嘿,废话不多说,下面开启MySQL优化之旅! 我们究竟应该如何对MySQL数据库进 ...

  5. 深搜+DP剪枝 codevs 1047 邮票面值设计

    codevs 1047 邮票面值设计 1999年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description ...

  6. [cocos2dx] 让UIButton支持disable状态

    摘要: 主要解决cocos2dx-2.2.2版本中, UIButton显示不了disable状态图的问题. 顺便, 理解了一下cocos2dx中UIWidget的渲染原理. 博客: http://ww ...

  7. C# 使用NLog记录日志

    NLog是一个记录日志组件,和log4net一样被广泛使用,它可以将日志保存到文本文件.CSV.控制台.VS调试窗口.数据库等.最近刚用到这个组件,觉得不错,水一篇. 下载 通过Nuget安装NLog ...

  8. 算法分析 Analysis of Algorithms -------GeekforGeeker 翻译

    算法分析 Analysis of Algorithms 为什么要做性能分析?Why performance analysis? 在计算机领域有很多重要的因素我们要考虑 比如用户友好度,模块化, 安全性 ...

  9. Centos7网络监控

    EPEL是企业版 Linux 附加软件包的简称,EPEL是一个由Fedora特别兴趣小组创建.维护并管理的,针对 红帽企业版 Linux(RHEL)及其衍生发行版(比如 CentOS.Scientif ...

  10. EZ GUI Button和Checkbox创建

    第一次接触EZ GUI,记录学习过程 准备工作 导入资源 导入 EZ GUI 1.0795.unitypackage 和 SpriteManager2 v1.92.unitypackage EZGUI ...