WCF同样功能不同写法的性能问题
2012-04-06 00:33
141 查看
最近一直在研究WCF ,所以在这里和大家讨论一些小想法,
一、之前做过几个项目 WPF和Silverlight的 都用到了WCF做服务支持,感觉WCF不错,但是框架都不是我写的,所以最近一直在看这方面的资料,个人比较爱好web项目,之前一直用的是三层架构,所以有一个想法是用web项目+WCF+EF4 实现B/S结构的搭建 ,在网上看这么用的人特别少,不知道是为什么,大家说说看法??
二、在网上看了很多WCF调用的例子,所以我也写了一个
服务接口如下:
我在客户端调用的时候专门做了一层代理
我的问题来了,客户端调用Add方法的时候有以下3种方法
以上3个方式都可以实现 Add方法,为什么我看大多数的写法都是去实现接口然后把方法一个一个分开,
个人认为其实第一种方式或第二种方式比较简单,直接把接口返回就行了,客户端想用哪个方法就用哪个方法,这里就是个人不明白的地方
请大虾们指点一下 以上3种方法的差别,不太了解调用WCF服务通道是什么时候打开的什么时候关闭的,是不是和以上的写法有直接关系, 主要考虑的性能方面有什么区别????
一、之前做过几个项目 WPF和Silverlight的 都用到了WCF做服务支持,感觉WCF不错,但是框架都不是我写的,所以最近一直在看这方面的资料,个人比较爱好web项目,之前一直用的是三层架构,所以有一个想法是用web项目+WCF+EF4 实现B/S结构的搭建 ,在网上看这么用的人特别少,不知道是为什么,大家说说看法??
二、在网上看了很多WCF调用的例子,所以我也写了一个
服务接口如下:
namespace FIS.Contracts { [ServiceContract] public interface ICalculator { [OperationContract] string Add(double x, double y); } }
我在客户端调用的时候专门做了一层代理
namespace Client.Proxy { public class ProxyCalculatorClient : BaseClientProxy<ICalculator>, ICalculator { public ICalculator ICalculator { get { return Channel; } } public ICalculator GetICalculator() { return Channel; } public string Add(double x, double y) { return Channel.Add(x, y); } } }
我的问题来了,客户端调用Add方法的时候有以下3种方法
ProxyCalculatorClient c = new ProxyCalculatorClient(); // 调用1 c.ICalculator.Add(8,3) // 调用2 c.GetICalculator().Add(8, 3); // 调用3 c.Add(8, 3);
以上3个方式都可以实现 Add方法,为什么我看大多数的写法都是去实现接口然后把方法一个一个分开,
个人认为其实第一种方式或第二种方式比较简单,直接把接口返回就行了,客户端想用哪个方法就用哪个方法,这里就是个人不明白的地方
请大虾们指点一下 以上3种方法的差别,不太了解调用WCF服务通道是什么时候打开的什么时候关闭的,是不是和以上的写法有直接关系, 主要考虑的性能方面有什么区别????
相关文章推荐
- 以上的文章是我解决这样一个问题时候的大致的思路: 把Matlab读取二进制文件的函数变成VBA读取二进制文件,实现同样的功能
- 功能和性能的关系和区别&对性能问题的考虑
- WCF和Entity framework 发现的性能问题(转)
- 可能引发性能问题的几个写法,看看你占哪一个.
- Spring Struts框架 缓存问题 同样的url返回结果不同
- 同样一条语句,不同写法效率高10倍
- SQL Server 第三堂课,学习数据库函数。跟C#语言异曲同工,同样是由输入参数,输出参数,函数体,返回值四要素组成,不同的是语法和写法。掌握知识的关键在与学好C#语言的函数
- 领域建模有很多种方法,对于同样的问题域使用不同的建模手段得到的模型可能也不尽相同。于是我经常听到这样一个问题:怎么才能保证建模的正确性?
- WCF 消息压缩性能问题及解决方法
- SQL、Linq、lamda表达式 同一功能不同写法
- JAVA关于方法调用的代码写法与性能问题
- 同样思路解决不同的问题,集大成者
- SQLServer 2005新功能,一些性能方面问题,sql 经典语句(转载)
- 不同的sql写法提高hibernate性能,避免hibernate的BUG
- 可能引发性能问题的几个写法,看看你占哪一个
- 同样磁盘数,不同raid级别的随机IO性能差异对比
- jquery的不同写法可能造成浏览器的不兼容问题!
- SQL调优日记之发挥SQL性能与你的写法有关--对比三种方式实现相同功能
- WCF和Entity framework 发现的性能问题(转)
- 同样思路解决不同的问题,集大成者