JAVA网站制作之构建更好的WCF客户端仓酷云
C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作,坦率地说,VisualStudio默许天生的WCF客户端有成绩。它不克不及间接婚配服务器端接口代码,这招致了很多代码和数据共享成绩,并且经由了这么多年,天生的代码仍旧有一个分明的Bug。在题为《更智能的WCF服务客户端》的系列文章中,MichaelTaylor会商了这些成绩和他为办理这些成绩所做的勉力。关于WCF客户端代办署理,一个尽人皆知的成绩是,只要在服务器真正运转的时分才干天生。关于很多团队来讲,这使得在构建时更新服务援用即便大概也十分坚苦。但是,团队不能不依托影象将变更关照对方,并依据必要手动更新服务援用。Michael持续写道:
用于天生援用的URL存储在天生的代码中(.svcmap)。假如援用被更新,就会利用原始URL。而假如原始URL过期了大概援用了开辟职员的呆板,这就会发生成绩。更糟的是,即便没有变动实践的代码,为了从头天生援用而变动URL也会招致一切的文件产生变更。
在利用服务援用款式的WCF客户端时,一个罕见毛病是利用“using”块。固然罕见,但这类做法其实不符合,由于当挪用Dispose时,WCF客户端大概会抛出非常。这就是所谓的“WCFDispose成绩”,而变通做法良多。
Michael还枚举了别的成绩,包含:
[*]固然WCF利用接口来埋没完成细节,但天生的代码实践上包括了一个分歧的接口,而这个接口刚巧共享了不异的名字。该接口在服务援用代码中界说。这使得跨项目利用原始接口加倍坚苦。
[*]更糟的是,部分办法署名大概会变更。好比,列举和汇合会默许转换成数组。乃至参数都能够挪动。
[*]在VisualStudio中,开辟职员可使用“查找一切援用(FindAllReferences)”来找出对一切范例和成员的援用。但假如利用服务援用,那末FAR就没法检测到它们,这仍是由于服务援用天生了新接口。
[*]别的,任何已订立的数据左券都能够修正,包含不属于原始对象的属性。假如任何代码利用了这些属性,而如今正在利用WCF供应的基本举措措施,那末这会使单位测试更坚苦。
[*]由一个项目标服务援用天生的数据别想在别的任何项目中共享(即便是不异的服务)。关于编译器而言,不论名字怎样,范例是分歧的。
[*]WCF利用接口的全体缘故原由是笼统,但因为服务援用的事情机制,没有复杂的办法能够笼统服务的实践用法。
Michaels起首供应了ClientBase<T>的一个子类,该类准确完成了IDisposable形式。他写道:
关于包装器,另有一点值得注重,那就是它完成了IDisposable。ClientBase<T>已完成了这个接口,为何我们还要完成它?由于基范例没有依照准确的办法完成这个接口。完成该接口的类应当供应一个可重写的办法供派生类完成,但该类没有如许做。为了修复清算代码,我们不能不从头完成该接口和详细的办法。不外,我们会准确地完成它,不论是在派生范例方面,仍是在妨碍通道处置方面。
在其系列文章的第三部分,Michael谈了怎样削减使单个服务挪用自成一行所需的榜样文件。好比:
ServiceClientFactory.InvokeMethod<ServiceReference1.IEmployeeService>(c=>c.Update(dlg.Employee));
你希望java的IDE整合。这个是没有必要的,重要的是你理解java有多深以及怎么组织你的代码,即使没有IDE,代码照样能够编译运行的。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 Java 编程语言的风格十分接近C、C++语言。 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 是一种将安全性(Security)列为第一优先考虑的语言 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
页:
[1]