2

今朝から次のエラーが発生しています:(

要求されたサービス 'http://10.175.156.xx:yyyyy/SomeService.svc' を有効にできませんでした。詳細については、サーバーの診断トレース ログを参照してください。

Azure でサービス ログを開くと、次の警告とエラーが表示されます。

W: Ninjet.Extensions.Wcf.NinjectIISHostingServiceHost`1[MyNameSpace.Servicelayer.SomesSrvice を開くことができませんでした W: Ninject.Extensions.WCf.NinjectIISHostingServiceHost[MyNamespace.ServiceLayer.SomeService] で障害が発生しました

時折、次のエラーに続いて上記の警告が表示されることがあります。

E: サービスのパフォーマンス カウンターの読み込みに失敗しました。このサービスでは、パフォーマンス カウンターは使用できません。インスタンス 'SomeService@||SomeService.svc' は既に CounterSet 'e829b6db-21ab-453b-83c9-d980ec708edd' に存在します。パラメーター名: インスタンス名

先週は問題なく動作しており、Azure に変更は見られません。

ところで、ローカルでは問題なく動作します。

編集:私はまだ自分の質問に答えることができないので、「解決策」を含めるように投稿を編集しています:(

「よし!問題にいくつかの参照が欠けていたようです:(

クラス ライブラリ プロジェクトを WCF プロジェクトに追加しましたが、そのクラス ライブラリは MVC 4 を参照しています。

4

1 に答える 1

0

2 人は、アプリケーションが正常に動作し、問題が発生し始めたと述べました。参照が欠落していると述べたように、実行中のアプリケーションが参照が欠落しているために動作を停止するのは少し奇妙です。VM のリサイクル、展開の更新など、問題が発生し始めたきっかけはありましたか、または以前の MVC を MVC4 に更新しましたか?

「サービスのパフォーマンス カウンターの読み込みに失敗しました」という問題については、ServiceHost のタイトなクローズ/オープン シーケンスのタイミングの問題が原因である可能性があります。ServiceHost は、ガベージ コレクションができない特定のパフォーマンス カウンターを保持しているため、この例外が発生します。この問題を回避するには、次のコードを使用できます。

GC.Collect() 
GC.WaitForPendingFinalizers()

私の経験に基づいて、「要求されたサービスをアクティブにできませんでした」という問題は、特定の構成が欠落しているために発生する可能性があり、アプリケーション内の接続またはランタイムの問題が原因でタイムアウトが発生する可能性があります。適切な参照を追加することで問題が解決される可能性は確かにありますが、そのような問題をさらに回避するために、サービス構成も確認する必要がある場合があります。

于 2012-10-02T00:00:14.927 に答える