RESTfulなASP.NET Web APIからサービスを使用しているAngularJSで構築されたクライアントサイドアプリケーションがあります。ここまでは順調ですね。私はVisual Studio上で同じソリューションの下で両方を作成しました.APIはASP.NETプロジェクトであり、AngularJSはウェブサイトです。両方のプロジェクトはWindows権限を使用して作業する必要がありますので、プロジェクト作成者ウィザードでデフォルトのAAメカニズムとしてWindows権限を持つAPIを作成し、AngularJSではプロジェクトのプロパティタブでWindows認証を有効にしています。Angular ClientとASP.NET Web APIでCORSの問題
2つのアプリケーション間の通信をテストするために、私は単純なサービスを構築することに決めました。私はQuotationモデルクラスを作成し、それに対するコントローラを構築してから移行を追加し、データベースにいくつかの引用を追加しました。私は、私は、Web APIのCORSを有効にしなければならなかったことを実現し、この問題を勉強した後
:私は、唯一、このエラーを受け取るために、角のアプリケーションからのGETリクエストを送信しようとしました。そこで、NuGet Package Managerに行き、Microsoft.AspNet.Corsパッケージをプロジェクトに追加しました。
私は、このようなWebApiConfig.csでCORSを有効化:十分ではなかった
namespace Web_API
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.EnableCors();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}
そして私はちょうどクラスの場合には、私のコントローラクラスとメソッド(にヘッダを追加しました):
namespace Web_API.Controllers
{
[EnableCors("*", "*","*")]
public class QuotationsController : ApiController
{
private Web_APIContext db = new Web_APIContext();
// GET: api/Quotations
[EnableCors("*", "*", "*")]
public IQueryable<Quotation> GetQuotations()
{
return db.Quotations;
}
しかし、私はAngularJSアプリケーションからリクエストを受け取ると、同じエラーが表示されます。誰もこの問題を解決する方法を知っていますか?
問題はCORSに関連していません。サーバーが500エラーを返すとき、CORSヘッダーは含まれていないため、CORSエラーが発生します。私は問題の下で読んでいるので、あなたはこの質問を閉じる必要がありますので、窓の認証です –