Подтвердить что ты не робот

Как реализовать заголовок "Access-Control-Allow-Origin" в asp.net

Возможно ли реализовать заголовок Access-Control-Allow-Origin в asp.net

4b9b3361

Ответ 1

От enable-cors.org:

CORS на ASP.NET

Если у вас нет доступа к настройке IIS, вы можете добавить заголовок через ASP.NET, добавив следующую строку к исходным страницам:

Response.AppendHeader("Access-Control-Allow-Origin", "*");

См. также: Настройка IIS6/IIS7

Ответ 2

Другой вариант - добавить его непосредственно в web.config:

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="http://www.yourSite.com" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS"/>
        <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
      </customHeaders>
    </httpProtocol>

... Я нашел это в здесь

Ответ 3

1.Install-Package Microsoft.AspNet.WebApi.Cors

2. Добавьте этот код в WebApiConfig.cs.

public static void Register(HttpConfiguration config)
{
    // Web API configuration and services

    // Web API routes

    config.EnableCors();

    config.MapHttpAttributeRoutes();

    config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );
}

3. Добавьте это

using System.Web.Http.Cors; 

4. Добавьте этот код в Api Controller (HomeController.cs)

[EnableCors(origins: "*", headers: "*", methods: "*")]
public class HomeController : ApiController
{
    [HttpGet]
    [Route("api/Home/test")]
    public string test()
    {
       return "";
    }
}

Ответ 4

Вам понадобится HTTP-модуль, который посмотрел бы на запрошенный ресурс, и если бы он был css или js, он будет ссылаться на заголовок Access-Control-Allow-Origin с URL-адресом запрашивающих, если вы не хотите, чтобы он был широко открыт с помощью ' *".

Ответ 5

Настройка заголовков ответов CORS на сервере не была действительно вариантом. Вы должны настроить прокси-сервер на стороне клиента.

Образец к угловому - Итак, я создал файл proxy.conf.json для работы в качестве прокси-сервера. Ниже представлен мой файл proxy.conf.json:

{
  "/api": {
    "target": "http://localhost:49389",
    "secure": true,
    "pathRewrite": {
      "^/api": "/api"
    },
    "changeOrigin": true
  }
}

Поместите файл в тот же каталог package.json, после чего я изменил команду start в файле package.json, как показано ниже.

"start": "ng serve --proxy-config proxy.conf.json"

теперь http-вызов из компонента приложения выглядит следующим образом:

return this.http.get('/api/customers').map((res: Response) => res.json());

Наконец, для запуска используйте npm start или ng serve --proxy-config proxy.conf.json