我安装了DotNetOpenAuth SDK-3.4.5.10201。vsix,我不能让它工作。它在本地工作(当我作为localhost运行时),但当我尝试发布它不工作。

我得到的IIS错误消息是:

错误总结 HTTP错误500.22 -内部服务器错误 一个ASP。检测到在集成管理管道模式中不适用的NET设置。

and:

模块ConfigurationValidationModule 通知BeginRequest 处理程序StaticFile 错误码0x80070032

下面就如何解决这个问题给出一些建议:

Things you can try: Migrate the configuration to the system.webServer/modules section. You can do so manually or by using AppCmd from the command line - for example, %SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/". Using AppCmd to migrate your application will enable it to work in Integrated mode, and continue to work in Classic mode and on previous versions of IIS. If you are certain that it is OK to ignore this error, it can be disabled by setting system.webServer/validation@validateIntegratedModeConfiguration to false. Alternatively, switch the application to a Classic mode application pool - for example, %SystemRoot%\system32\inetsrv\appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool". Only do this if you are unable to migrate your application. (Set "Default Web Site" and "Classic .NET AppPool" to your application path and application pool name)

问题是我没有访问ISS服务器的权限,因为我不是它的所有者。有办法解决这个问题吗?


当前回答

检查您的IIS身份验证是否有冲突。即启用匿名认证和ASP。NET模拟也可能导致错误。

其他回答

如果你仍然需要使用HTTP模块,你需要配置它(。NET 4.0框架):

<system.webServer>
   <modules runAllManagedModulesForAllRequests="true">
       <add name="MyModule" type="[Namespace].[Class], [assembly]"/>
   </modules>
   <validation validateIntegratedModeConfiguration="false"/>
</system.webServer>

local的方法是错误的

我花了几个小时来解决这个问题,因为我在这里找到的关于这个错误的所有设置都是一样的,但它仍然不工作。 问题是我在我的web服务中有一个文件夹,文件应该从这个文件夹发送到WinCE设备,在将该文件夹转换为经典应用程序后。netappool开始工作了。

在我的情况下,我在bin文件夹中丢失了dll,在web中引用。配置文件。 检查一下你是否使用了web中的任何设置。配置,但实际上没有dll。

谢谢

我遇到了这个问题,受到@Jeremy Cook的回答的启发,我咬紧牙关,想知道到底是什么原因导致iis7集成模式不像我的web.config。以下是我的设想:

Web API(版本4.0.030506.0即旧版本) net 4.0 属性路由3.5.6为Web API[剧透警告:它是这个家伙!]

我想在一个必须使用. net 4的项目中使用属性路由(不幸的是),因此不能使用Web API 2.2(需要. net 4.5)。NuGet包善意地将此部分添加到<system。web >部分:

<system.web>
<httpHandlers>
      <add verb="*" path="routes.axd" type="AttributeRouting.Web.Logging.LogRoutesHandler, AttributeRouting.Web" />
    </httpHandlers>
</system.web>

[我说的是善意的,因为旧版本的IIS需要这部分]

删除这个部分让我通过了HTTP 500.23!!

简介: 我赞同杰里米的话,理解事情为什么不起作用而不仅仅是“掩盖症状”是很重要的。即使你必须掩盖症状,你也知道你在做什么(以及为什么):-)