Problemas con CORS en ASP.NET

Tengo esta aplicación donde me gustaría configurar mis encabezados personalizados en la Web. Configuración, por desgracia, esto no siempre es infalible.

  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
    <add name="Access-Control-Allow-Methods" value="*" />
    <add name="Access-Control-Allow-Headers" value="*" />
  </customHeaders>

El conjunto anterior y las iteraciones del mismo, como

  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
    <add name="Access-Control-Allow-Methods" value="OPTIONS,GET,PUT,DELETE,POST" />
    <add name="Access-Control-Allow-Headers" value="Authorization,Content-Type" />
  </customHeaders>

no funcionó, funcionó para mí en todos los escenarios. A partir de ahora, esta configuración funciona en aproximadamente el 50% de las máquinas de prueba y proporciona405 Method Not Allowed en otros.

La alternativa es configurar esto enWebApiConfig.cs y descomentar los encabezados personalizados enWeb.config.

//Web API Cross origin requests - Enable
  var cors = new EnableCorsAttribute("*", "*", "*");
  config.EnableCors(cors);

¿Por qué hay tanta ambigüedad en esto y cómo sé con certeza dóndeCORS funcionará todo el tiempo? Estoy realmente interesado en configurar CORS enWeb.config solo como me gustaría la flexibilidad de modificarlo en la versión implementada.

Respuestas a la pregunta(3)

Su respuesta a la pregunta