wcf几种调用方式的性能讨论

本文讨论了使用WCF结合EF4实现B/S架构的可能性,并分享了一个具体的WCF服务示例。作者提出了三种不同的客户端调用方法,并邀请读者讨论这些方法之间的差异及其对性能的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近一直在研究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服务通道是什么时候打开的什么时候关闭的,是不是和以上的写法有直接关系, 主要考虑的性能方面有什么区别????

 

转载于:https://www.cnblogs.com/sujingnan/archive/2012/04/06/SJN.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值