如何在 asp.net 网站中激活 cors (razor 3)
Posted
技术标签:
【中文标题】如何在 asp.net 网站中激活 cors (razor 3)【英文标题】:How to activate cors in a asp.net website (razor 3) 【发布时间】:2020-01-18 16:52:40 【问题描述】:我是 ASP.NET 网站编程的新手。我有一个 node js express 应用程序,我需要向它发出请求。这目前在我的 asp.net 站点上不起作用,因为我没有启用 cors。我希望你能帮助我,如果我只是愚蠢并且配置我的网站错误或忘记添加控制器,请告诉我。
我尝试通过 nuget 添加 cors 包并将其添加到 web.config。
【问题讨论】:
How to enable cross origin requests in ASP.NET MVC的可能重复 我自己还没有这样做,但我认为这篇文章可能会有所帮助docs.microsoft.com/en-us/aspnet/web-api/overview/security/… 不,这不是重复的,我没有(据我所知)没有 asp.net mvc 网站。 这篇文章并没有真正帮助我,因为我认为这篇文章是针对 mvc 的 我删除了asp.net-core
标签,因为它不是与asp.net-core 相关的问题
【参考方案1】:
在解决方案资源管理器中,展开 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...
【讨论】:
所以我想尝试一下,但我没有名为 App_Start 的文件夹。 prntscr.com/p7u0en这就是我的全部 检查您注册路线的文件,或在您的解决方案中搜索Routes.MapHttpRoute
。以上是关于如何在 asp.net 网站中激活 cors (razor 3)的主要内容,如果未能解决你的问题,请参考以下文章
如何在我的 ASP.NET 核心 WebApi 项目中全局启用 CORS
如何在 ASP.net Core WebAPI 中启用 CORS
使用 SIGNAL R 的 Angular 7 和 ASP.NET Core 2.2 的 CORS 策略问题