本文介绍了IIS承载WCF服务的FailActivationIfRecyling错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好

我们目前正在将我们的中层Windows服务器从2008年升级到2012 R2盒子.我们在这些机器上托管了多个WCF服务,这些机器在IIS 8.5(8.5.9600.16384)中的自己的应用程序池(使用它们的ApplicationPoolIdentity)下运行. 我们已经将这些ApplicationPoolIdentity帐户添加到IIS_IUSRS组中(为了安全起见).

We are currently upgrading our middle tier Windows Servers from 2008 to 2012 R2 boxes.  We have multiple WCF Services hosted on these boxes running under their own Application Pools (using their ApplicationPoolIdentity) in IIS 8.5 (8.5.9600.16384).  We have added these ApplicationPoolIdentity accounts to the IIS_IUSRS group (just to be safe).

我们看到一个服务器(但从来没有其他服务器)出现间歇性问题,而在我们移交新版本(Web.Config,.SVC文件,BIN目录)之后,第一个找到服务的人该服务器上的内容如下:

We are seeing intermittent problems WITH ONE SERVER (but never the others) with our services where, after we turn over new versions (Web.Config, .SVC files, BIN directory), the first person to hit a service on that server gets something like the following:

WebHost无法处理请求.
发件人信息:System.ServiceModel.ServiceHostingEnvironment + HostingManager/63835064
异常:System.ServiceModel.ServiceActivationException:由于"/Application.MyServce"上的虚拟应用程序已关闭,因此无法分派对〜/MyService.svc"上的服务的请求.
   ---> System.InvalidOperationException:由于"/Application.MyServce"处的虚拟应用程序正在关闭,因此无法调度对〜/MyService.svc"处的服务的请求.
   ---内部异常堆栈跟踪的结尾---
  在System.ServiceModel.ServiceHostingEnvironment.HostingManager.FailActivationIfRecyling(String normalizedVirtualPath)
处  在System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath,EventTraceActivity eventTraceActivity)
  在System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(字符串relativeVirtualPath,EventTraceActivity eventTraceActivity)
进程名称:w3wp

WebHost failed to process a request.
 Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/63835064
 Exception: System.ServiceModel.ServiceActivationException: Request to the service at '~/MyService.svc' cannot be dispatched because the virtual application at '/Application.MyServce' is shutting down.
   ---> System.InvalidOperationException: Request to the service at '~/MyService.svc' cannot be dispatched because the virtual application at '/Application.MyServce' is shutting down.
   --- End of inner exception stack trace ---
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.FailActivationIfRecyling(String normalizedVirtualPath)
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)
   at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath, EventTraceActivity eventTraceActivity)
 Process Name: w3wp

一旦有人收到此错误(而且仅仅是第一人称...他们可以在我们更改文件1分钟后或在我们更改文件1小时后点击它,这无关紧要.)第一个碰到它的人),我们不会再看到该错误 服务,直到我们更改文件.

Once someone receives this error (and it is only the first person... They can hit it 1 minute after we change the files or 1 hour after we change the files, it doesn't matter.  It is always the first person to hit it), we do not see the error again for a service until we change the files.

有人对我们可以看到的东西有什么想法吗?我们已将该服务器,服务设置和应用程序设置与所有其他服务器进行了比较,但未发现任何内容.任何帮助将不胜感激.

Does anyone have any ideas what we can look at?  We have compared this server, the service setups, and the application setups to all of the other servers but have not found anything.  Any help would be greatly appreciated.

预先感谢

Jason

推荐答案

>>一旦有人收到此错误(而且只有第一个人...他们可以在我们更改文件后1分钟或在我们更改文件后1小时内击中该错误,这没关系. 它总是第一个被击中的人)

>> Once someone receives this error (and it is only the first person... They can hit it 1 minute after we change the files or 1 hour after we change the files, it doesn't matter. It is always the first person to hit it),

基于FailActivationIfRecyling ,我假设您的IIS正在回收中.但是,根据您的描述,是否意味着如果您在更改文件后等待一个小时发送请求,仍然会收到此错误?

Based on FailActivationIfRecyling, I assume your IIS is in Recycling. But, based on your description, do you mean if you wait for one hour to send request after changing files, you still get this error?

更改文件后,如果重新启动Web应用程序或应用程序池"->选择应用程序池"->回收",您是否会再次遇到该错误?

After changing files, if you restart your web application or Application Pools->Select your Application Pool->Recycle, will you get this error again for first request?

如果仍然出现此错误,那么您的.NET版本是什么?它似乎与.net 4.5.1有关.我建议您参考下面的链接以获取更多信息.

#ServiceActivationException:由于虚拟应用程序正在关闭,因此无法分派请求

http ://stackoverflow.com/questions/21859807/serviceactivationexception-request-cannot-be-dispatched-cause-the-virtual-app

最好的问候

爱德华


这篇关于IIS承载WCF服务的FailActivationIfRecyling错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 09:02