xyz*_*xyz 1 c# asp.net asp.net-web-api
我创建了一个Web API,并且之前运行良好。尝试浏览API时,突然出现以下错误。
Cannot add duplicate collection entry of type 'add' with unique key attribute 'name' set to 'Access-Control-Allow-Origin'
Config Source:
30: <customHeaders>
31: <add name="Access-Control-Allow-Origin" value="*"/>
32: <add name="Access-Control-Allow-Headers" value="Content-Type"/>
我在web.config中有以下代码
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*"/>
<add name="Access-Control-Allow-Headers" value="Content-Type"/>
</customHeaders>
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议我这里的问题,因为它以前工作正常。
如果此版本已发布或发布,请检查其他执行转换的web.configs。
听起来您的web.release.config中可能有一个转换正在添加重复项。如果有,可能是这样的:
<add name="Access-Control-Allow-Origin" value="*" xdt:Transform="Insert" />
Run Code Online (Sandbox Code Playgroud)
或者,如果API位于IIS的子应用程序中,则等效项可能位于主站点的web.config中。在这种情况下,您需要在web.config中的添加行上方放置以下内容:
<remove name="Access-Control-Allow-Origin" />
Run Code Online (Sandbox Code Playgroud)
正如错误消息所示,存在重复的集合条目。您可以尝试在实际添加的上方添加以下部分:
<remove name="Access-Control-Allow-Origin"/>
Run Code Online (Sandbox Code Playgroud)
或者简单地,您可以注释该行:
<add name="Access-Control-Allow-Origin" value="*"/>
Run Code Online (Sandbox Code Playgroud)
该网站将继承父级别的设置。这应该是这个问题的原因。您可以检查父 Web 内容文件夹(例如 C:\inetpub\wwwroot\arif\ 或 C:\inetpub\wwwroot )中是否存在 web.config 文件以及其中是否有重复的集合条目。