Mcbaloo Ответов: 1

Как мне сделать, чтобы включить CORS для меня точка продажи основных веб-API


я пытаюсь получить доступ к своему веб-api, размещенному на моем локальном IIS, через мобильное приложение(с использованием framework 7), которое я разрабатываю. Когда я пытаюсь сделать, скажем, запрос GET или POST и тестирую приложение на своем эмуляторе ripple в chrome, я получаю
"No 'Access-Control-Allow-Origin' header is present on the requested resource."
ошибка. Я попытался добавить CORS в свой стартовый файл, который я покажу ниже, но все еще не могу заставить его работать. Ответ будет весьма приветствоваться

Что я уже пробовал:

public void ConfigureServices(IServiceCollection services)
        {
            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });



            services.AddCors(options => options.AddPolicy("AllowCors", p => p.AllowAnyOrigin()
                                                                   .AllowAnyMethod()
                                                                   .AllowCredentials()
                                                                    .AllowAnyHeader()));
            services.Configure<IISOptions>(options =>
            {
                options.ForwardClientCertificate = false;
            });            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        }

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
       {

           if (env.IsDevelopment())
           {
               app.UseDeveloperExceptionPage();
           }
           else
           {
               app.UseExceptionHandler("/Home/Error");
               app.UseHsts();
           }
           app.UseCors("AllowCors");
           app.UseHttpsRedirection();
           app.UseDefaultFiles();
           app.UseStaticFiles();
           app.UseCookiePolicy();

           //app.UseMiddleware<RequestResponseLoggingMiddleware>();
           app.UseMvc(routes =>
           {
               routes.MapRoute(
                   name: "default",
                   template: "{controller=Account}/{action=Login}/{id?}");
           });
       }



я также включил CORS на контроллере

[EnableCors("AllowCors")]
[Route("api/[controller]")]
[ApiController]
public class TenantController : ControllerBase
{

1 Ответов

Рейтинг:
1

Sk Imad

Используйте этот код ниже в Startup.cs

public void ConfigureServices(IServiceCollection services)
{
     services.AddCors();
     services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}


public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
  if (env.IsDevelopment())
  {
     app.UseDeveloperExceptionPage();
  }
   else
  {
     app.UseHsts();
  }

  app.UseCors(builder =>
  builder
  .AllowAnyOrigin()
  .AllowAnyHeader()
  .AllowAnyMethod()
  );

  app.UseHttpsRedirection();
  app.UseMvc();
}