为什么我收到消息“无法从当前应用程序池执行指定的请求”?
很不知道为什么我会看到这个错误。 我像这样导航到我的登录视图 http://test.staging.com/mywebsite/Login
我的登录视图刚刚使用 MVC 重做,但我也看到同样的错误消息转到 aspx 页面...
如果我使用 http,我会收到错误消息 无法从当前应用程序池执行指定的请求< /em>. 如果我使用 https://test.staging.com/mywebsite/Login,我好的。 如果我没有指定协议,test.staging.com/mywebsite/Login,我也收到错误
是否在幕后发生错误,并且我的自定义错误页面无法像讨论的那样显示这里?
导致此错误的其他原因还有哪些?
Quite not sure why I see this error.
I navigate to my Login View like so http://test.staging.com/mywebsite/Login
My Login view was just redone using MVC but I have seen this same error message going to an aspx page as well...
If I use http I get the error message The specified request cannot be executed from current Application Pool.
If I use https://test.staging.com/mywebsite/Login, I'm good.
If I don't specify a protocol, test.staging.com/mywebsite/Login, I get the error as well
Is there an error happening under the covers and my custom error page can't be shown like discussed here?
What are some other causes of this error?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
这通常意味着您的自定义错误被配置为作为不同的应用程序池运行。
您可以在 MSDN 阅读更多信息。 (请参阅“使用另一个应用程序池中的自定义错误”部分)。
有关注册表项修复的信息,请参阅文章。
这也可能意味着您正在使用类似于
Server.Transfer
的内容到位于不同 AppPool 中的页面。That usually means your custom errors are configured to run as a different AppPool.
You can read more at MSDN. (See section "Using Custom Errors from Another Application Pool").
See the article for information on the registry key fix.
It may also mean that you are using something along the lines of
Server.Transfer
to a page that is in a different AppPool.这可能是因为您为池中的一个或多个应用程序使用了不同版本的 ASP.NET。
It could be because you're using different versions of ASP.NET for one or many apps in the pool.
该消息可能是由于您的页面服务器端重定向到另一个应用程序池提供的页面而引起的。例如,在您的链接中,错误页面。
The message would be caused by your page server-side redirecting to a page served by another application pool. Such as for example, in your link, the error page.
我知道这是一个旧线程,但我偶然发现它并找到了不同的解决方案。以下是对我有用的方法:确保您的应用程序正确处理
来自 IIS 的 .asmx 文件:
右键单击您的项目>属性>配置
如有必要,添加映射到 aspnet_isapi.dll 的 .asmx 文件扩展名
限制为:“GET、HEAD、POST、DEBUG”并重新启动。
I know this is an old thread, but I stumbled upon it and found a different solution. Here's what worked for me: Make sure your application handles .asmx files correctly
From IIS:
Right Click on your project > Properties > Configuration
If necessary, add the .asmx file extension that maps to the aspnet_isapi.dll
Limit to: "GET,HEAD,POST,DEBUG" and restart.
因为我无法评论 vcsjones 的答案,所以我将其添加到此处。需要在 HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\ Parameters 与该 technet 文章中引用的 HKLM\SYSTEM\CurrentControlSet\Services\W3SVC 下设置 DWORD 值 IgnoreAppPoolForCustomErrors。将其设置为 1 并执行 iisreset 即可。
来源博客文章
Because I can't comment on vcsjones's answer, I'll add it down here. The DWORD value IgnoreAppPoolForCustomErrors needs to be set under HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\ Parameters vs HKLM\SYSTEM\CurrentControlSet\Services\W3SVC referenced in that technet article. Set it to 1 and do an iisreset and you're good to go.
Source Blog Post
在我的特定情况下,我在尝试为内容(非 ASP.NET)网站提供服务时收到此错误,而该网站是一个应用程序。右键单击虚拟文件夹并删除应用程序为我解决了这个问题。
In my particular case, I received this error while trying to serve a content (non ASP.NET) website while it was an Application. Right-Clicking the virtual folder and removing the application fixed it for me.
就我而言,应用程序使用了不存在的应用程序池。我不知道这是怎么发生的。
In my case the application used the application pool that didn't exist. I have no idea how it's happened.