2012-10-01 62 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() 

根据我的经验“的问题所请求的服务,*不能启动”可能发生由于缺少具体的配置,超时时由于较长连接或运行时问题。可以肯定的是,通过添加适当的引用可以解决您的问题,但您也可能需要查看服务配置以进一步避免此类问题。