从今天早上起我就收到了以下错误:(
无法激活所请求的服务'http://10.175.156.xx:yyyyy / SomeService.svc'。有关详细信息,请参阅服务器的诊断跟踪日志。
当我在Azure上打开svc日志时,我看到以下警告和错误:
W:无法打开Ninjet.Extensions.Wcf.NinjectIISHostingServiceHost`1 [MyNameSpace.Servicelayer.SomesSrvice W:Faulted Ninject.Extensions.WCf.NinjectIISHostingServiceHost [MyNamespace.ServiceLayer.SomeService] W:ServiceHost出现故障
有时,我会看到以下错误,然后是上面的警告:
E:加载服务的性能计数器失败。性能计数器将不可用于此服务。实例'SomeService@||SomeService.svc'已存在于CounterSet'e829b6db-21ab-453b-83c9-d980ec708edd'中。 参数名称:InstanceName
上周工作正常,我没有看到Azure的任何变化。
不过,它在当地运作良好。编辑:由于我还不能回答我自己的问题,我正在编辑帖子以包含“解决方案”:(
`OK!看起来问题是缺少一些参考文献:(
我向WCF项目添加了一个类库项目,该类库引用了MVC 4.`
答案 0 :(得分:0)
两位提到应用程序正常运行并且问题开始发生。正如您所提到的那样,引用丢失了,由于缺少引用,正在运行的应用程序停止工作并不奇怪。当问题开始出现时是否有任何触发,即VM回收,部署更新等,或者您是否已将之前的MVC更新为MVC4?
关于您的“服务失败的加载性能计数器”问题,它可能是 由ServiceHost严密关闭/打开序列中的计时问题引起的。 ServiceHost会维护特定的性能计数器,这些计数器无法进行垃圾回收并导致此异常。您可以使用以下代码解决此问题:
GC.Collect()
GC.WaitForPendingFinalizers()
根据我的经验,由于缺少特定配置,可能会发生“请求的服务 * 无法激活”的问题,由于应用程序中的连接时间较长或运行时问题而导致超时。确定您的问题可能通过添加适当的引用来解决,但您可能还需要查看服务配置以进一步避免此类问题。