星空网 > 软件开发 > ASP.net

客户端调用wcf服务,如何提高调用性能

IO调用服务

1、使用using(每次自动释放)

客户端调用wcf服务,如何提高调用性能客户端调用wcf服务,如何提高调用性能
 for (var i = 0; i < 10; i++)        {          var watch = new Stopwatch();          watch.Start();          using (var client = new StreamServiceClient())          {            var result = client.Upload(new StreamRequest            {              Bytes = data,              FileExt = ext,              Passport = ""            });            if (!string.IsNullOrEmpty(result.Msg))              MessageBox.Show(result.Msg);          }          watch.Stop();          this.richTextBox1.AppendText(string.Format("第{0}次:耗时:{1}\r\n\r\n", i, watch.ElapsedMilliseconds));        }

View Code

耗时:

客户端调用wcf服务,如何提高调用性能

2、重用wcf通信通道

客户端调用wcf服务,如何提高调用性能客户端调用wcf服务,如何提高调用性能
for (var i = 0; i < 10; i++)        {          var watch = new Stopwatch();          watch.Start();          var client = new StreamServiceClient();          {            var result = client.Upload(new StreamRequest            {              Bytes = data,              FileExt = ext,              Passport = ""            });            if (!string.IsNullOrEmpty(result.Msg))              MessageBox.Show(result.Msg);          }          watch.Stop();          this.richTextBox1.AppendText(string.Format("第{0}次:耗时:{1}\r\n\r\n", i, watch.ElapsedMilliseconds));        }

View Code

耗时:

客户端调用wcf服务,如何提高调用性能

3、自定义wcf通道

先创建一个channel,如下:

客户端调用wcf服务,如何提高调用性能客户端调用wcf服务,如何提高调用性能
/// <summary>  /// IO服务通道  /// by:jgl  /// date:15-10-10  /// </summary>  public sealed class EmpIOChannelFacotry  {    private static readonly object LockObject = new object();    private static StreamServiceClient client;    public static StreamServiceClient Channel    {      get      {        lock (LockObject)        {          var locaClient = client;          if (locaClient != null && locaClient.State != CommunicationState.Faulted) return locaClient;          client = new StreamServiceClient();          return client;        }      }      set      {        lock (LockObject)        {          if (client == null) return;          if (client.State != CommunicationState.Opened)            client.Abort();          client.Close();          client = value;        }      }    }  }

View Code

耗时:

客户端调用wcf服务,如何提高调用性能

 

此文章属于个人记录,我是wcf的菜鸟,希望大家多多批评与指点。

请问各位还有其他办法能够提供wcf客户端调用的办法吗?

 




原标题:客户端调用wcf服务,如何提高调用性能

关键词:wcf

wcf
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

这一款产品虚假宣传却仍在亚马逊上出售?:https://www.kjdsnews.com/a/572735.html
联邦快递宣布与Salesforce达成深入合作:https://www.kjdsnews.com/a/572736.html
有二次汇损?收款不稳定?亚马逊一站式全球收款来了,人民币直接到账!:https://www.kjdsnews.com/a/572737.html
出海十元店“名创优品”加速拓张,美国门店翻一番?:https://www.kjdsnews.com/a/572738.html
亚马逊的进入埃及将加剧当地的电商竞争:https://www.kjdsnews.com/a/572739.html
如何合规降低日本FBA逆算申报问题?:https://www.kjdsnews.com/a/572740.html
无锡旅游景点竹海 - 无锡的竹海:https://www.vstour.cn/a/363178.html
5月贾汪好玩的地方 贾汪哪有好玩的地方:https://www.vstour.cn/a/363179.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流