web-dev-qa-db-ja.com

クロスドメインASP.net Web APIの有効化

Microsoft Visual Studio Express 2013 for Web、バージョン12.0.30501.00 Update 2を持っています。2つのプロジェクトを含むソリューションがあり、1つはWeb APIで、も​​う1つはビュー用のMVCプロジェクトです。私はhttpresponsemessageを返す単純なWeb APIを作成しました。フィドラーに入ると、json応答が表示されます。しかし、2番目のプロジェクトでajaxを介して呼び出そうとすると、クロスドメインエラーが発生しました。

私が従おうとする解決策はこれです http://www.asp.net/web-api/overview/security/enabling-cross-Origin-requests-in-web-api 。ただし、コンソールマネージャーに_Install-Package Microsoft.AspNet.WebApi.Cors -pre -project WebService_をインストールすると、エラーが発生したため、代わりにこの行を使用しました。 _Install-Package Microsoft.AspNet.WebApi.Cors_次に、次のステップであるconfig.EnableCors();の状態を試します。

_'System.Web.Http.HttpConfiguration' does not contain a definition for 'EnableCors' and no extension method 'EnableCors' accepting a first argument of type 'System.Web.Http.HttpConfiguration' could be found (are you missing a using directive or an Assembly reference?)
_

後で何をするかわからないので、_using System.Web.Http.Cors;_も追加しようとしますが、名前空間が存在しないことを示します。このビジュアルスタジオは約3週間前にダウンロードされました。完全にサポートされているため、この機能をインストールするのは難しくないはずです。何か足りないものはありますか?

22
Jseb

Nugetパッケージをインストールする必要がありますMicrosoft.AspNet.WebApi.Cors

Visual Studioのメニューから[管理パッケージ]に移動し、パッケージの名前を入力します

注:
Package Manager Consoleからインストールするには、Install-Package Microsoft.AspNet.WebApi.Cors

43
Toan Nguyen

nugetパッケージ `" Microsoft.AspNet.WebApi.Cors "(version =" 5.1.0 ")をインストールします

WebApiConfig.csファイルに次の行を追加します

config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
10