web-dev-qa-db-ja.com

wcfを使用してSQLサーバーに対してクエリを実行すると、奇妙なエラーが発生する

Windows Server 2003(vpsホスティング)でII6を使用して、asp.netアプリケーションを構築しています。開発マシンで受信しなかったエラー(windows 7、iis 7.5、64ビット)に直面しています。

私のwcfサービスがローカルのSQLサーバーに対して実行しているクエリを起動しようとすると、これは私が受け取るエラーです:

空きメモリ(43732992バイト)が合計メモリの5%未満であるため、メモリゲートのチェックに失敗しました。その結果、サービスは着信要求に対して使用できなくなります。これを解決するには、マシンの負荷を減らすか、serviceHostingEnvironment構成要素のminFreeMemoryPercentageToActivateServiceの値を調整します。

とアイデア?

45
vondip

試行できることの1つは、「mex」サービスパスが絶対パスに変更されていない場合です。それは私のために一度働いた。しかし、それはサービスの再起動とメモリの解放が原因である可能性があります。

BrainSlugの回答には、これを行う方法の例があります

14
Daniel Dyson

Web.configのconfiguration\system.serviceModel\serviceHostingEnvironment要素で、minFreeMemoryPercentageToActivateService属性を追加し、5未満の値に設定し、0に設定すると、このエラーはなくなりました。

例:

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

[〜#〜] msdn [〜#〜] による注意: "WCFサービスのweb.configファイルに部分的な信頼とともにこの属性を指定すると、サービスの実行時にSecurityExceptionが発生します。 」

135
BrainSlugs83

WCFサービスをローカル(localhost)で実行しているときにこの問題が発生しました。サービスを停止しました。ラムをきれいにするためにいくつかのアプリを閉じました。そして、再起動しました。以前のように正常に起動しました。
BrainSlugの回答も機能しました。そのために+1。 :)
乾杯!!

1
Manish Gupta