我有一个ASP.NET Web Api v2网络应用程序,我试图启用CORS,以便可以从其他服务器上的客户端调用API。
我正在关注这里的教程,它谈论将以下代码行添加到WebApiConfig.cs
文件App_Start
夹中的文件中...
var cors = new EnableCorsAttribute("http://localhost:5901", "*", "*");
config.EnableCors(cors);
问题是WebApiConfig.cs
App_Start目录中没有。我Startup.cs
在Web应用程序根目录下的文件中进行大部分配置和路由。我不记得曾经使用WebApiConfig.cs
文件。我可以添加此代码Startup.cs
吗?
您的问题的答案很简单:是的,可以。
唯一重要的是将设置应用于相同的HttpConfiguration
实例,然后将其传递给app.UseWebApi()
扩展方法。
WebApiConfig.cs
只是默认Web API模板创建的样板文件,以将Web API配置与其他配置文件分开。如果您计划只使用Owin,那么您可以简单地忽略它。
[编辑]Startup.cs
Configuration
方法内部的示例代码:
var config = new HttpConfiguration();
var cors = new EnableCorsAttribute("http://localhost:5901", "*", "*");
config.EnableCors(cors);
app.UseWebApi(config);
响应注释,如果使用,app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
则将CORS头设置为比Web API更高的级别,并且根本不需要使用EnableCorsAttribute
。您的情况的主要区别在于,CorsAttribute
您将对CORS标头进行精细的分级配置(例如,可以为每个Action方法设置不同的CORS标头)。
只需记住app.UseCors
在您的Configuration
方法中放置任何其他Owin中间件即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句