使用wcf对sql server运行查询时发生奇怪的错误

我正在build立一个asp.net应用程序,在Windows Server 2003(vps主机)上使用II6。 我遇到了我的开发机器上没有收到的错误(Windows 7,iis 7.5,64位)。

当我的wcf服务试图启动我的查询运行本地sql服务器这是我收到的错误:

内存门检查失败,因为空闲内存(43732992字节)小于总内存的5%。 因此,该服务将不可用于传入的请求。 要解决此问题,请减less计算机上的负载或调整serviceHostingEnvironmentconfiguration元素上的minFreeMemoryPercentageToActivateService的值。

和想法?

有一件事你可以尝试的是改变你的'mex'服务path为绝对的,如果它还没有。 它为我工作过一次。 但是,这可能是由于服务重新启动和释放一些内存。

BrainSlug的答案有一个如何做到这一点的例子

在你的web.config中,在你的configuration\ system.serviceModel \ serviceHostingEnvironment元素中添加一个minFreeMemoryPercentageToActivateService属性,并将其设置为低于5的东西,我将我的地雷设置为0,这个错误对我来说就消失了。

例如:

<configuration> <system.serviceModel> <serviceHostingEnvironment ... minFreeMemoryPercentageToActivateService="0" /> </system.serviceModel> </configuration> 

通过MSDN注意:“指定此属性以及WCF服务的web.config文件中的部分信任将导致服务运行时出现SecurityException。

我在本地运行我的WCF服务(localhost)时遇到了这个问题。 我停止了服务。 closures几个应用程序来清理我的公羊。 并重新启动它。 它像以前一样正常开始。
BrainSlug的答案也奏效了。 +1。 🙂
干杯!!