WCF限制设置以确保服务可用性

时间:2011-11-21 17:16:39

标签: c# .net wcf

我最近使用Visual Studio 2010设置了WCF服务。该服务托管在Windows 2008服务器上的IIS中。我的合同暴露了一种方法。该方法的实现执行两个快速SQL SELECT查询,并根据结果执行SQL INSERT查询。换句话说,该服务可以快速响应。短期我看每秒1个请求。长期来看,它可能是每秒3个请求。

我做了一些有关限制的阅读,并遇到了MaxConcurrentCalls(默认为16),MaxconcurrentSessions(默认为10)和MaxConcurrentInstance等设置。显然,默认设置被认为是保守的,并在WCF 4.0中更改为MaxConcurrentCalls(默认100 *处理器计数),MaxconcurrentSessions(默认16 *处理器计数)。

  1. 如何找出我安装的WCF版本,以便知道我的默认设置是什么?
  2. 根据我提供的信息,哪些设置适合我的方案?

1 个答案:

答案 0 :(得分:2)

在代码中,您可以使用System.Environment.Version来确定当前正在执行的CLR版本。

执行哪个版本取决于可用的已安装版本的CLR以及可能请求特定版本的当前正在执行的程序集。

鉴于信息仍然很难说,因为很多事情取决于实际的硬件,软件,负载等。你可以做的最好的事情就是构建它,然后对系统进行压力测试以找出最佳位置。