Как включить CORS в odata? - PullRequest
       91

Как включить CORS в odata?

1 голос
/ 04 августа 2020

Я выполняю следующий шаг, чтобы решить проблему CORS.

1.Установите Microsoft.As pNet .WebApi.Cors с помощью nuget.

2. Добавьте код ниже в WebApiConfig.cs

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

Большая часть API будет работать. Только oData API по-прежнему будет иметь проблему CORS.

Как решить проблему CORS в oData API?

изменить:

После ввода приведенного ниже кода в Global.asax, и он работает .

        protected void Application_BeginRequest(object sender, EventArgs e)
    {
        if (Context.Request.Path.Contains("odata/") && Context.Request.HttpMethod == "OPTIONS")
        {
            Context.Response.AddHeader("Access-Control-Allow-Origin", Context.Request.Headers["Origin"]);
            Context.Response.AddHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
            Context.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST PUT, DELETE, OPTIONS");
            Context.Response.AddHeader("Access-Control-Allow-Credentials", "true");
            Context.Response.End();
        }
    }

1 Ответ

0 голосов
/ 04 августа 2020

Посмотрите этот ответ , где сказано, что вы можете попробовать добавить:

var cors = new EnableCorsAttribute(
    "http://localhost:7122/",
    "*",
    "*",
    "DataServiceVersion, MaxDataServiceVersion"
);
config.EnableCors(cors);
...