我在Windows Server 2019上安装了Internet信息服务。
在IIS中,我托管了一个svc服务,但当我浏览该服务时,我会收到以下错误:
模块IIS Web核心
错误代码0x800700b7
配置错误无法添加类型为"add"且唯一密钥属性"name"设置为"WebServiceHandlerFactory-ISAPI-4.0_64bit"的重复集合条目
但是,当我从web.config中删除这4个处理程序行时,该服务运行良好:
<handlers>
<add name="WebServiceHandlerFactory-ISAPI-4.0_64bit" path="*.asmx" verb="*" modules="IsapiModule" scriptProcessor="C:WindowsMicrosoft.NETFramework64v4.0.30319aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="svc-ISAPI-4.0_64bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="C:WindowsMicrosoft.NETFramework64v4.0.30319aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
</handlers>
我还有另一个具有相同设置的环境,但这里的服务运行良好,没有从web.config中删除处理程序行。
有人能向我解释一下处理程序行的作用吗?为什么我需要它们,为什么我需要在一个环境中删除它们,而不是在另一个环境。
感谢
由于错误消息提到重复的记录,请检查web.config中是否有相同的定义:
- 启用失败的请求跟踪
- 添加规则
- 如果出现问题,请检查web.config文件。是否存在相同的失败请求跟踪规则
如果没有重复项,请检查IIS管理器中所有应用程序、站点和服务器级别的跟踪模块中的规则。确保没有冲突的规则。
如果问题仍然存在,请将下面的行添加到web.config中。它将删除所有现有规则以防止重复。
<remove path="*" />