J'ai ajouté un nouveau projet d'API Web. J'installe Cors
PM> Install-Package Microsoft.AspNet.WebApi.Cors -Pre
Ensuite, lorsque j'exécute mon projet, j'obtiens cette erreur:
L'initialiseur de type pour 'System.Web.Http.GlobalConfiguration' a levé une exception.
Ceci est mon exception intérieure:
{"La tentative de la méthode 'System.Web.Http.GlobalConfiguration..cctor ()' pour accéder au champ 'System.Web.Http.GlobalConfiguration.CS $ <> 9__CachedAnonymousMethodDelegate2' a échoué."}
Je suis tombé sur le même problème et y ai trouvé un article de blog. Selon ce billet de blog, si vous utilisez la version candidate, cela devrait corriger l'erreur
Install-Package Microsoft.AspNet.WebApi -IncludePrerelease
À partir d'ici: http://wp.sjkp.dk/webapi-and-cors-enabled-rest-services/
Cela a fonctionné pour moi: D
En d'autres termes, il a été corrigé dans 5.1.0-rc1
Libération.
J'ai eu ce problème en utilisant NET 4.6.1 et après des heures de recherche, le supprimer de web.config a finalement résolu le problème:
<runtime>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
</runtime>
J'ai eu le même problème. Certainement "Cors" ne fonctionne pas pour moi!
Ce que j'ai fait pour résoudre mon problème avec Cross Domain dans WebApi, c'était de supprimer Cors et de changer mon web.config
Si vous insérez les lignes suivantes dans votre web.config, vous aurez un WebApi avec Cross Domain activé.
<system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, PUT, DELETE" /> </customHeaders> </httpProtocol> </system.webServer>