一个asp.net core网站,在IIS点击停止网站,然后再次启动,出现了如下的错误:
HTTP 错误 500.19 - Internal Server Error
无法访问请求的页面,因为该页的相关配置数据无效。
详细错误信息:
模块 IIS Web Core
通知 BeginRequest
处理程序 尚未确定
错误代码 0x800700b7
配置错误 在唯一密钥属性“name”设置为“aspNetCore”时,无法添加类型为“add”的重复集合项
配置文件 \\?\D:\web code\CMS.Netcore\NetCoreWeb\bin\Release\PublishiOutput\web.config
请求的 URL http://localhost:88/api/values
物理路径 D:\web code\CMS.Netcore\NetCoreWeb\bin\Release\PublishiOutput\api\values
登录方法 尚未确定
登录用户 尚未确定
配置源:
4: <handlers> 5: <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" requireAccess="Script" />
6: </handlers>
网上搜索的答案,都是有关.net framework框架产生的问题处理,并不适用我用到的问题。经过反复尝试,终于找到了问题的解决办法。
修改web.config中的这段代码:
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" requireAccess="Script" />
</handlers>
增加一个针对名为aspNetCore的remove操作,重新编译发布就解决了此问题。
<handlers>
<remove name="aspNetCore"/>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" requireAccess="Script" />
</handlers>