ASP.NET POST 请求本身不支持跨域资源共享(CORS)。CORS 是一种跨域访问的机制,它允许服务器通过设置响应头来控制哪些源(域)可以访问其资源。要在 ASP.NET 中实现 CORS,你需要在服务器端进行一些配置。
以下是在 ASP.NET 中启用 CORS 的几种方法:
使用 Microsoft.AspNetCore.Cors 包:
在你的 ASP.NET Core 项目中,安装 Microsoft.AspNetCore.Cors 包。然后,在你的 Startup.cs
文件中的 ConfigureServices
方法中添加以下代码:
services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin",
builder => builder.WithOrigins("http://example.com")
.AllowAnyMethod()
.AllowAnyHeader());
});
接下来,在 Configure
方法中添加以下代码:
app.UseCors("AllowSpecificOrigin");
这将允许来自 http://example.com
的请求访问你的应用程序。你可以根据需要修改这些设置。
使用 Web API:
如果你使用的是 Web API,可以在控制器中使用 [EnableCors]
属性来启用 CORS:
[EnableCors("AllowSpecificOrigin")]
public class MyController : ApiController
{
// ...
}
这将允许来自 http://example.com
的请求访问你的 Web API。
使用 MVC:
对于 MVC 应用程序,你可以在 Global.asax.cs
文件中的 Application_Start
方法中添加以下代码:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
var cors = new EnableCorsAttribute("AllowSpecificOrigin", "http://example.com", "*");
config.EnableCors(cors);
}
这将允许来自 http://example.com
的请求访问你的 MVC 应用程序。
请注意,这些示例仅用于演示目的。在实际项目中,你可能需要根据具体需求调整 CORS 设置。