Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF客户端可伸缩性建议_C#_Wcf_.net 4.0_Scalability_Wcf Client - Fatal编程技术网

C# WCF客户端可伸缩性建议

C# WCF客户端可伸缩性建议,c#,wcf,.net-4.0,scalability,wcf-client,C#,Wcf,.net 4.0,Scalability,Wcf Client,我有一个多线程应用程序,每天调用同一服务200000多次。目前,它为每个调用实例化一个新的ClientBase自动生成的代理 我可以做些什么来提高性能?实例化一个客户端并共享它?我应该调查异步客户机吗?如果是,可以共享吗?您的服务操作的性质是什么?单向操作可以轻松地切换到异步,只需最少的努力。特别是使用TPL(来自异步方法系列) 此外,对象实例化通常也很便宜。只要确保它没有一个沉重的构造函数。并尽量减少成员数量,以使要构造的类型尽可能轻量级。这不是一个很好的优化点 您可能需要优化服务调用,在调用

我有一个多线程应用程序,每天调用同一服务200000多次。目前,它为每个调用实例化一个新的ClientBase自动生成的代理


我可以做些什么来提高性能?实例化一个客户端并共享它?我应该调查异步客户机吗?如果是,可以共享吗?

您的服务操作的性质是什么?单向操作可以轻松地切换到异步,只需最少的努力。特别是使用TPL(来自异步方法系列)

此外,对象实例化通常也很便宜。只要确保它没有一个沉重的构造函数。并尽量减少成员数量,以使要构造的类型尽可能轻量级。这不是一个很好的优化点


您可能需要优化服务调用,在调用过程中对数据类型(反序列化)进行优化。

200000次每天调用没什么大不了的。为每个调用请求代理相当便宜(WCF在内部缓存它)。你确定瓶颈在客户端吗?更多信息:呼叫不是单向的。他们传递一些参数,然后取回数据。此外,基本授权被注入到请求头中。是否要缩短应用程序响应时间?是否允许在同一时间范围内处理更多请求?最小化系统资源使用?您的应用程序是ASP.NET站点、Silverlight应用程序还是Windows窗体?“提高性能”是什么意思?