无法添加唯一键属性“名称”设置为“ Access-Control-Allow-Origin”的类型为“ add”的重复收集项

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)

任何人都可以建议我这里的问题,因为它以前工作正常。

Cra*_*g H 5

如果此版本已发布或发布,请检查其他执行转换的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)


Gau*_*vsa 5

正如错误消息所示,存在重复的集合条目。您可以尝试在实际添加的上方添加以下部分:

<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 文件以及其中是否有重复的集合条目。