如何在Dot Net Core Web API中处理OPTION标头 [英] How to handle OPTION header in dot net core web api
本文介绍了如何在Dot Net Core Web API中处理OPTION标头的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在使用ajax调用测试我的点网核心网络api时,当我用提琴手监视时,chrome用请求头中的Option替换了我的get。我在此处在上为CORS启用了OPTIONS标头。 NET Core Web API 仍然无法正常工作。我该如何实现?这是我的启动文件
While testing my dot net core web api with ajax call, chrome replaces my get with Option in the request header when i monitor with fiddler. I followed the code here Enable OPTIONS header for CORS on .NET Core Web API and still not working. How do I achieve this? Here is my start up file
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = Microsoft.AspNetCore.Http.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, ILoggerFactory loggerFactory)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseOptions();
app.UseCors("AllowCors");
app.UseDefaultFiles();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseHttpsRedirection();
app.UseMvc(routes =>
{
routes.MapRoute(name: "default", template: "{controller=Account}/{action=Login}/{id?}");
});
}
推荐答案
这应启用OPTION标头
This should enable OPTION header
app.UseCors(builder => builder.WithOrigins("http://example.com")
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials());
使其适合您的需求。
这篇关于如何在Dot Net Core Web API中处理OPTION标头的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文