仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1375|回复: 13
打印 上一主题 下一主题

[学习教程] ASP.NET网页编程之让WCF客户真个“挪用”成为一种“享用”仓酷云

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-18 11:20:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
中间码是基于一个虚拟机器。源代码是最高层的,理论上从源代码开始直接编译成本地码能提供最大优化的。而中间码只能是转译成本地码,效率上难免受到损耗。根据虚拟机器所设定的体系结构的特点,和本地机器的差异的多少。刚入手下手利用WCF时,老是在using中举行挪用,好比:
  1. using(CnblogsWcfClientclient=newCnblogsWcfClient()){client.Say("Hello,cnblogs.com!");}
复制代码
厥后发明,这是微软的一个“圈套”,事先我写了篇博客“不要在using语句中挪用WCF服务”。
今后改成如许挪用:
  1. CnblogsWcfClientclient=newCnblogsWcfClient();client.Say("Hello,cnblogs.com!");try{client.Close();}catch{client.Abort();}
复制代码
每当写到如许的代码,心思老是有些不恬逸。经由近10个月如许的不恬逸以后,再也没法忍耐。。。
因而,明天决意办理这个成绩。。。
从WhatisthebestworkaroundfortheWCFclient`using`blockissue?找到PracticalFunctionalC#-PartII,发明懂得决之道,但个中供应的代码不完全,经由几个小时的探索,终究找到中意的办理办法。
让WCF客户真个挪用成为“享用”的代码以下:
使用程序中挪用代码:
  1. //IUserService就是WCF的ServiceContract,是客户端主动天生的代办署理类WcfClient.UseService((IUserServiceuserService)=>(userService.GetUser(userId)));
复制代码
WcfClient完成代码:
  1. publicclassWcfClient{publicstaticTReturnUseService<TChannel,TReturn>(Func<TChannel,TReturn>func){varchanFactory=newChannelFactory<TChannel>("*");TChannelchannel=chanFactory.CreateChannel();TReturnresult=func(channel);try{((IClientChannel)channel).Close();}catch{((IClientChannel)channel).Abort();}returnresult;}}
复制代码
办理这个成绩的次要工夫花在找到下面代码中的谁人星号,星号对应的参数名是endpointConfigurationName。
入手下手时困扰于怎样给endpointConfigurationName参数传值。厥后,研讨了一下主动天生的代办署理类,也没有与endpointConfigurationName相干的信息,只是承继自System.ServiceModel.ClientBase<T>。然后,经由过程ILSPy反编译ClientBase<T>的代码,找到了这个星号,见下图:

小结
大概另有更“享用”的挪用WCF客户端办法,可是我以为最少比之前的办法用起来更恬逸。办理成绩以后,最好的庆贺体例就是写一篇博客。分享的不单单是办理办法,另有办理成绩以后的那种镇静!
感觉很多控件都必须自己去写代码;用了WebMatrix感觉也不是很好,毕竟没有很强的WYSIWYG效果。现在就不知道如何是好了。
第二个灵魂 该用户已被删除
沙发
发表于 2015-1-20 12:12:29 | 只看该作者
JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。
山那边是海 该用户已被删除
板凳
发表于 2015-1-29 07:06:11 | 只看该作者
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
变相怪杰 该用户已被删除
地板
发表于 2015-1-31 15:40:03 | 只看该作者
主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。
不帅 该用户已被删除
5#
发表于 2015-2-6 20:02:27 | 只看该作者
通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。
admin 该用户已被删除
6#
发表于 2015-2-13 07:51:06 | 只看该作者
众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
谁可相欹 该用户已被删除
7#
发表于 2015-2-17 20:38:13 | 只看该作者
但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。
莫相离 该用户已被删除
8#
发表于 2015-2-18 15:51:25 | 只看该作者
ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。
若相依 该用户已被删除
9#
发表于 2015-3-6 08:36:42 | 只看该作者
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
蒙在股里 该用户已被删除
10#
发表于 2015-3-6 18:50:50 | 只看该作者
在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的
若天明 该用户已被删除
11#
发表于 2015-3-10 17:52:22 | 只看该作者
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
小女巫 该用户已被删除
12#
发表于 2015-3-11 18:24:24 | 只看该作者
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
精灵巫婆 该用户已被删除
13#
发表于 2015-3-19 06:48:18 | 只看该作者
JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。
愤怒的大鸟 该用户已被删除
14#
发表于 2015-3-27 11:04:59 | 只看该作者
提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:32

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表