我安装了DotNetOpenAuth SDK-3.4.5.10201.vsix,但无法正常运行。它在本地工作(当我以localhost运行时),但是当我尝试发布它时却无法正常工作。
我收到的IIS错误消息是
错误摘要 HTTP错误500.22-内部服务器错误 检测到ASP.NET设置不适用于集成托管管道模式。
和
Module ConfigurationValidationModule Notification BeginRequest Handler StaticFile Error Code 0x80070032
然后有一些关于解决问题的建议:
您可以尝试的事情:
将配置迁移到该 system.webServer/modules部分。您可以手动执行此操作,也可以通过在命令行中使用AppCmd进行操作- 例如, %SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/"。使用AppCmd迁移应用程序将使其能够在集成模式下工作,并继续在经典模式和IIS的早期版本上工作。 * 如果确定可以忽略此错误,可以将其设置system.webServer/validation@validateIntegratedModeConfiguration 为false 来禁用它 。 或者,将应用程序切换到经典模式应用程序池-例如, %SystemRoot%\system32\inetsrv\appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool"。仅在无法迁移应用程序时才这样做。 (将“默认网站”和“经典.NET AppPool”设置为您的应用程序路径和应用程序池名称)
system.webServer/modules
%SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/"
AppCmd
* 如果确定可以忽略此错误,可以将其设置system.webServer/validation@validateIntegratedModeConfiguration 为false 来禁用它 。
system.webServer/validation@validateIntegratedModeConfiguration
%SystemRoot%\system32\inetsrv\appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool"
但是问题是我没有访问ISS服务器的权限,因为我不是它的所有者。有什么办法解决这个问题?
2. 第二选项是你想要的。
在中web.config,确保这些键存在:
web.config
<configuration> <system.webServer> <validation validateIntegratedModeConfiguration="false"/> </system.webServer> </configuration>