我对 ASP.NET 网站编程很陌生。我有一个 node js express 应用程序,我需要向它发出请求。这目前在我的 asp.net 站点上不起作用,因为我没有启用 cors。我希望你能帮助我,如果我只是愚蠢并且配置我的网站错误或忘记添加控制器,请告诉我。
我尝试通过 nuget 添加 cors 包并将其添加到 web.config 中。
在解决方案资源管理器中,展开 WebApi 项目。打开文件 App_Start/WebApiConfig.cs,并将以下代码添加到方法 WebApiConfig.Register。
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// New code
config.EnableCors();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
然后将属性 [EnableCors] 添加到所需的控制器:
namespace MyProject.Controllers
{
[EnableCors(origins: "http://myclient.azurewebsites.net", headers: "*", methods: "*")]
public class TestController : ApiController
{
// Controller methods not shown...
}
}