|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
不过你如果学.net的话,你就不要选os了,这课比较底层的。你可以旁听数据库加上软件构件和中间件。(webservices和面向服务的课也应该听一听)这里的WCF异步伐用是指单向非牢靠异步伐用,也就是你不晓得挪用是不是乐成,合用于功能高于牢靠性的场所。
之前公布过一篇漫笔WCF异步伐用实战:OneWay+AsynchronousOperation,经由过程WCF服务端“单向(One-way)动静互换”+WCF客户端“异步信道挪用(AsynchronousOperation)”完成疾速的WCF异步伐用。
可是,利用了一段工夫,发明仍是有些慢。明天实测了一下,挪用代码以下:- varclient=newExternalService.FeedWcf.FeedServiceClient();client.CreateAsync(...);try{client.Close();}catch{client.Abort();}
复制代码 实测上去,下面的挪用耗时100~300毫秒摆布。慢!
事先有点想不分明,都已异步了,怎样还会慢?
因而改成更间接的异步伐用——Task.Factory.StartNew(),代码以下:- Task.Factory.StartNew(()=>{varclient=newExternalService.FeedWcf.FeedServiceClient();client.CreateAsync(...);try{client.Close();}catch{client.Abort();}});
复制代码 实测上去,挪用耗时0~5毫秒,这才是异步的效果。
WCF客户真个异步怎样了?检察WCF客户端代办署理类的代码,异步伐用部分也没成绩。
...
厥后,名顿开,本来成绩不在异步伐用(client.CreateAsync),而是在WCF客户真个封闭(client.Close)。
因而,专门针对client.Close()举行测试,发明工夫全耗在这里(100~300毫秒)!
今朝还没找到“怎样在异步伐用时封闭WCFClient”的办理办法,先用Task.Factory.StartNew()对付着,让WCF客户端在别的一个线程中渐渐封闭。
前几天同学问我学习方向的问题。有点想法,不知道对不对,怕误导同学,现在“开源一下”。注:括号内是我现在整理的时填加上的。 |
|