2011-11-21 57 views
1

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

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

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

你曾经看着[动态IP限制](http://www.iis.net/download/DynamicIPRestrictions)?我发现它比你提到的选项更有用。您可以扼杀某些IP地址等 – bloudraak

回答

2

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

哪个版本执行依赖于CLR的可用,安装的版本和当前执行的程序集可能要求一个特定版本。

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

+0

所以,如果我的WCF项目使用.NET Framework 4中,是安全的假设,我正在运行WCF 4.0然后我的默认限制设置是两个的后面? – Thomas

+0

是,除非它们已在应用程序的配置设置中更改。 –