• 1400/04/08

قسمت استارت آپ وب ای پی آِی :

با سلام و احترام

من به یه باگی برخوردم

موقع کال کردن وب ای پی آی دات نت کور از انگولار ارور Cors policy میده

خیلی سرچ کردم و پرسیدم.

همه میگن کانفیگ Cors ,...بزار .

گذاشتم.

ولی بازم این ارور رو میده .

قسمتی از کدم در لایه استارت آپ:  


namespace Start
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
         {
            services.AddDbContext<DataLayer.DBContext.ApplicationDbContext>(options =>
                                                                       options.UseSqlServer(Configuration.GetConnectionString("Default"),
                                                                       x => x.MigrationsAssembly("DataLayer")));
            services.AddControllers();
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo { Title = "Start", Version = "v1" });
            });

            services.AddCors(options =>
            {
                options.AddPolicy("CorsPolicy",
                    builder => builder
                    .WithOrigins("http://127.0.0.1:8887/", "https://localhost:44311")
                    //.AllowAnyOrigin()
                        .AllowAnyMethod()
                        .AllowAnyHeader()
                        .AllowCredentials()
                        //.WithHeaders(HeaderNames.ContentType, "multipart/form-data; boundary=---------------------------17290561343960841187189258426")
                        );

            });
            services.AddScoped<IUserRepository, UserRepository>();
            services.AddTransient<IUserService, UserService>();

            services.AddScoped<IReportRepository, ReportRepository>();
            services.AddTransient<IReportService, ReportService>();

        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseSwagger();
                app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "Start v1"));
            }

            app.UseHttpsRedirection();
            app.UseCors("CorsPolicy");
            app.UseHttpsRedirection();
            app.UseRouting();

            app.UseAuthentication();
            app.UseAuthorization();
 

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }
    }
}
  • 1400/04/08
  • ساعت 10:32

سلام

در دوره در قسمت ajax استفاده کردید و تنظیمات مثل اون هست 

سرچ هم کنید cors web api برای باز کردنش نمونه کد هست ، همه رو باز کنید درست نشد از سمت client هست 

البته api رو روی سرور بزارید و تست کنید


  • 1400/04/08
  • ساعت 10:57

با سپاس از راهنمایی شما.

طبق فرمایش شما روی iis سیستم خودم تست کردم و از متد Get ریسپانس گرفتم .

اما جالبه که متد Post رو ،هنوز همون ارور رو میده.


  • 1400/04/08
  • ساعت 12:03

تنظیمات فایروال هم هست 

بهتره روی سرور باشه


logo-samandehi