对于WCF学习,技术态度要扎实。如果你是新手,有足够的时间,建议你从基础学起,现了解Enterprise Sevices(COM+).Net Remoting、Web Service(ASMX)、WSE3.0和MSMQ消息队列等相关概念以后,再来学习WCF技术。
什么是WCF:
前一阵学了点WebService,感觉很先进,本来还有点得意。结果,今天读了些相关文章,才知道WebService已经落后了,现在更先进的是WCF。
于是找了个最简单的WCF例子来学,研究了半年,仍然一头雾水,感觉要比WebService复杂。
看来,这个东东得系统的学。这样先进的技术,我不可能放任其错过。必须得学会它!
最近股市也没什么研究头了,这个BLOG用来写点学习笔记倒也合适。写笔记可以帮助自己整理思路,同时,也可以帮助一些和我一样刚入门的朋友少走弯路,倒是个利人利己的事儿。
WCF学习名词解释
名词不用我去解释,网上有。这里主要是整理思路。WCF,就是一种程序与程序之间交换信息的方式。由于采用了开放而严谨的协议机制,所以,WCF即可以实现跨平台地提供运算和数据,又能够做到安全性。#t#
看了WCF学习的示例代码,感觉其实就是一些类。只不过加了 <OperationContract()> __之类的前缀,使其对网络上公开了。在新建一个WCF项目后,自动生成的两个文件倒底是做什么的呢?很明显,Service1.VB就是一个类。是封闭的。类中定义了一些函数以返回值,没有什么特别的。
特别的是另一个文件,IService.VB。从名称上看,它是和Service1.VB就是有关联的,事实上也是。在IService中,用<OperationContract()> _前缀公开了许多方法。我想,应该还可以用同样的前缀来公开属性吧。看起来,这个IService文件,其实就是Service类的一个对外接口。它写明了,哪些方法和属性是公开的。这和WebService中有细微差别。另外,这个Service.VB中,还示例了如何返回特定类型的值。我想这可能是为了外部引用时方便吧。由于对这一段还不是特别理解,就暂时放在一边,先实验如何引用。
OK,用.NET自带的客户端测试工具测试成功了。现在实验如何发布,及如何在发布后启动服务?是自动启动还是如何启动的?
发布后,我在目标文件夹下生成了一个WcfServiceLibrary1.dll文件。我想,只要让这个DLL工作,WCF学习服务也就启动了。现在的问题就是以何种方式来启动服务。如果WCF服务是写在一个网站项目内,那只要在Web.Config中添加一些行,应该就可以启动服务了。但现在我仅是一个单独的WCF学习服务,是没有启动程序可绑定的,所以,我应该将其绑定到IIS上。
默认的方式就是绑定到IIS。也就是说,只要发布后,服务就自动启动了。真方便 。而引用的时候,是引用的svc文件,这和WebService有一点不同。经过测试,引用成功。原来WCF就这么简单。笔记写完,WCF学习的概念也理解了。原来如此。今后,不再使用WebService了,全部改用WCF学习。有了这么个好东东,今后一定要好好用起来。
当然,WCF学习的内容其实远不止这么简单。比如安全机制这些,都还没有了解。这个以后再说,先解决实际需求。下一步,应该对WPF再作点了解。如何能够在今后编程中把这两大利器结合起来,那编出来的软件那可真是帅呆了!