检测到一个在集成式托管管道模式下不适用的ASP.NET设置

435

我安装了DotNetOpenAuth SDK-3.4.5.10201.vsix,但是我无法让它正常工作。当我以本地主机运行时,它可以工作,但是在尝试发布时就无法工作。

我得到的IIS错误信息是:

错误摘要
HTTP错误500.22 - 内部服务器错误
已检测到一个不适用于集成式托管管道模式的ASP.NET设置。

和:

Module       ConfigurationValidationModule  
Notification BeginRequest  
Handler      StaticFile  
Error Code   0x80070032  
然后,有一些解决该问题的建议: 尝试的方法: 1.将配置迁移到system.webServer/modules部分。您可以手动执行此操作,也可以使用命令行中的AppCmd - 例如:%SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/"。使用AppCmd来迁移您的应用程序将使其能够在集成模式下工作,并且继续在经典模式和之前的IIS版本上工作。 2.如果您确定可以忽略此错误,则可以通过将system.webServer/validation@validateIntegratedModeConfiguration设置为false来禁用它。 3.或者,将应用程序切换到Classic模式应用程序池-例如:%SystemRoot%\system32\inetsrv\appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool"。仅当您无法迁移应用程序时才这样做。(将“Default Web Site”和“Classic .NET AppPool”设置为您的应用程序路径和应用程序池名称) 问题是我没有访问ISS服务器的权限,因为我不是它的所有者。有没有办法解决这个问题?
14个回答

0

本地化的方法是错误的

image


8
除非你真的知道自己在做什么,否则不要更改此设置。这几乎从来都不是正确的答案。 - NickG
如果目标是在经典模式下运行它,那么这比隐藏验证错误更好,该错误表示它在集成模式下无法正确运行。 - N-ate

0
在我的情况下,我在 bin 文件夹中缺少 web.config 文件中引用的 dll。因此,请检查您是否在 web.config 中使用了任何设置,但实际上没有 dll。
谢谢。

0
以下步骤解决了我的问题:
打开具有管理员特权的 CMD 提示符。
运行: iisreset。
希望这可以帮到你。

0
我们在部署Azure应用服务时遇到了问题。我们的问题是必须将模块从system.web/httpmodules移动到system.webserver/modules。按原样移动子条目有效。这似乎与应用程序的年龄以及之前运行的IIS实例与现代化到Azure应用服务有关。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接