2012-10-01 104 views
2

我已經收到以下錯誤,因爲今天早上:(WCF服務斷陷時Ninject

所請求的服務,「HTTP部署在Azure上://10.175.156.xx:YYYYY/SomeService.svc 「無法啓動,請參閱該服務器的診斷跟蹤日誌的詳細信息

當我在Azure上開闢了SVC日誌,我看到下面的警告和錯誤:。

寬:失敗打開Ninjet。 Extensions.Wcf.NinjectIISHostingServiceHost`1 [MyNameSpace.Servicelayer.SomesSrvice 寬:斷陷Ninject.Extensions.WCf.NinjectIISHostingServiceHost [MyNamespace.ServiceLayer.SomeService] 寬:ServiceHost的故障

偶爾,我看到下面的錯誤,隨後通過以上警告:

E:加載服務的性能計數器失敗。性能計數器將不可用於此服務。 CounterSet'e829b6db-21ab-453b-83c9-d980ec708edd'中已存在實例'[email protected]||SomeService.svc'。 參數名稱:InstanceName

上週它一直工作正常,我沒有看到Azure上的任何更改。

順便說一句,它在本地工作正常。

編輯:既然不能回答我的問題呢,我編輯的職位包括「解決方案」 :(

'OK它看起來像這個問題是缺少一些參考:(

我添加了一個類庫項目的WCF項目和類庫引用MVC 4.`

回答

0

兩個提到,應用程序工作正常和問題開始發生。正如你所提到的參考失蹤,這是小奇怪的是,正在運行的應用程序由於缺少引用而停止工作。當問題開始時,是否有任何觸發虛擬機回收,部署更新等,或者你更新以前的MVC MVC4?

關於您的「加載服務失敗的性能計數器」問題,它可能是 由您的ServiceHost緊密/打開序列中的時間問題引起的。 ServiceHost確實維護了特定的性能計數器,這些計數器不能被垃圾收集並導致這種異常。你可以使用下面的代碼來解決此問題:

GC.Collect() 
GC.WaitForPendingFinalizers() 

根據我的經驗「的問題所請求的服務,*不能啓動」可能發生由於缺少具體的配置,超時時由於較長連接或運行時問題。可以肯定的是,通過添加適當的引用可以解決您的問題,但您也可能需要查看服務配置以進一步避免此類問題。