Блокировка перекрестного запроса: происходит даже после включения CORS в моем API; - PullRequest
0 голосов
/ 27 ноября 2018

В моем приложении реакции это будет показано.когда я пытаюсь сделать почтовый запрос.Я использую .net core 2.2 webapi для бэкэнда.

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:5050/api/Users. (Reason: missing token ‘access-control-allow-origin’ in CORS header ‘Access-Control-Allow-Headers’ from CORS preflight channel).[Learn More]
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:5050/api/Users. (Reason: CORS request did not succeed).[Learn More]

В моем .net core webapi.Я также включил cors.используя IServiceCollection services

    services.AddCors(options =>
    {
        options.AddPolicy("AllowAll",
            builder =>
            {
                builder
                .AllowAnyOrigin() 
                .AllowAnyMethod()
                .AllowAnyHeader()
                .AllowCredentials();
            });
    });

и IApplicationBuilder app

app.UseCors("AllowAll");

, также я использовал это в контроллере.

[EnableCors("AllowAll")]

Редактировать: На выходе отладочной консоли.

    info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request starting HTTP/1.1 OPTIONS http://localhost:5050/api/Users  
    Request starting HTTP/1.1 OPTIONS http://localhost:5050/api/Users  
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
    Executing endpoint '405 HTTP Method Not Supported'
Microsoft.AspNetCore.Routing.EndpointMiddleware:Information: Executing endpoint '405 HTTP Method Not Supported'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
    Executed endpoint '405 HTTP Method Not Supported'
Microsoft.AspNetCore.Routing.EndpointMiddleware:Information: Executed endpoint '405 HTTP Method Not Supported'
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
    Request finished in 9.3884ms 405 
Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request finished in 9.3884ms 405 

Ответы [ 4 ]

0 голосов
/ 03 декабря 2018

Сначала я должен поблагодарить всех, кто пытался мне помочь.Я решил проблему.

Сначала я удалил IIS , используя Установка и удаление программ .
И я также отключил IIS функция из Особенности Windows .

Требуется перезагрузить компьютер.После этого эта проблема не возникает.

0 голосов
/ 28 ноября 2018

Первым делом проверьте, не является ли это сообщение об ошибке результатом ошибки в веб-интерфейсе.

Для этого запустите chrome (windows) в специальном режиме

"c: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe "--user-data-dir =" C: / Chrome dev session "--disable-web-security

Если вывсе еще получите ошибку, тогда я подозреваю, что это может быть связано с какой-то другой ошибкой в ​​вашем веб-API.Вы проверяли консоль API для каких-либо исключений?

Cheers

0 голосов
/ 30 ноября 2018

Если вы используете полный IIS и у вас есть проблемы, убедитесь, что вы исключаете:

IIS > App or Directory \ HTTP Response Headers \ Access-Control-Allow-Origin

Уже установлено.У меня была проблема, из-за которой он уже был установлен по какой-то причине и переопределял конфигурацию приложения.

0 голосов
/ 27 ноября 2018

Попробуйте Response.Headers.Add ("Access-Control-Allow-Origin", "http://IPorDomain:Port");. Он работает в .Net Core Web API. В моем случае я использую веб-API от углового.

var itemsOnPage = await _context.Employees
            .OrderBy(e => e.EmpFirstName)               
            .Skip(count * pageIndex)
            .Take(count)
            .ToListAsync();

/*This*/
Response.Headers.Add("Access-Control-Allow-Origin", "http://localhost:4200");
/*This*/
return Ok(itemsOnPage);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...