web-dev-qa-db-ja.com

「System.Web.Http.GlobalConfiguration」の型初期化子が例外をスローしました

新しいWeb APIプロジェクトを追加しました。 Corsをインストールします

PM> Install-Package Microsoft.AspNet.WebApi.Cors -Pre

次に、プロジェクトを実行すると、次のエラーが表示されます。

'System.Web.Http.GlobalConfiguration'の型初期化子が例外をスローしました。

これは私の内部例外です:

{「「System.Web.Http.GlobalConfiguration..cctor()」メソッドによる「System.Web.Http.GlobalConfiguration.CS $ <> 9__CachedAnonymousMethodDelegate2」フィールドへのアクセスに失敗しました。」}

55
user1968030

私は同じ問題に遭遇し、それに関するブログ投稿を見つけました。このブログ投稿によると、リリース候補を使用する場合、エラーを修正する必要があります

Install-Package Microsoft.AspNet.WebApi -IncludePrerelease

ここから: http://wp.sjkp.dk/webapi-and-cors-enabled-rest-services/

これは私のために働いた:D

つまり、5.1.0-rc1リリースで修正されました。

99
Adween

私はNET 4.6.1を使用してこの問題を抱えていましたが、web.configからこれを削除して数時間の調査をした後、最終的に問題を修正しました:

<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>
25
FlimFlam Vir

同じ問題がありました。間違いなく「Cors」は機能しません!

WebApiのクロスドメインで問題を解決するためにしたことは、Corsを削除してweb.configを変更することでした

Web.configに次の行を挿入すると、クロスドメインが有効になったWebApiが作成されます。

<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>

1
Stephan