我有一个使用Entity Framework从SQL服务器检索数据的服务。大部分时间它工作正常,但有时它失败了
请求的服务 XXXXXXXXXXXXXXXXXXX可以 激活。“错误。能够看到 什么不对,我启用了跟踪 并使用svctraceviewer进行检查。和 发现有一个 显示的nullreference异常 ......下面是错误的详细信息 我看到......
异常类型: System.ServiceModel.ServiceActivationException, System.ServiceModel,Version = 3.0.0.0, 文化=中性, 公钥= b77a5c561934e089
消息:该服务 '/bookadventurewcf/CommonService.svc' 由于a无法激活 编译期间的异常。该 异常消息是:对象引用 没有设置为对象的实例..
堆栈跟踪: System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(字符串 normalizedVirtualPath) System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(字符串 relativeVirtualPath) System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest() System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest() System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequest(对象 州) System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke2()
等等
因此,如果没有将Object Refenence设置为对象实例,则在EnsureServiceAvailable失败。
我无法弄清楚导致错误的原因。
答案 0 :(得分:2)
由于下面提到的原因我遇到了这个错误
内存门检查失败,因为可用内存(258187264字节)小于总内存的5%。因此,该服务将无法用于传入请求。要解决此问题,请减少计算机上的负载或调整serviceHostingEnvironment配置元素上的minFreeMemoryPercentageToActivateService的值。
因此,当有超过5%的RAM可用时,检查服务器的ram消耗,你的服务可以正常工作,何时不能引发此错误