在同一个域上运行 Asp.net MVC 和 React
Posted
技术标签:
【中文标题】在同一个域上运行 Asp.net MVC 和 React【英文标题】:Run Asp.net MVC and React on same domain 【发布时间】:2019-09-26 05:25:33 【问题描述】:我有一个连接到 Asp.net MVC webapi2 的 React 网站。他们在两个域上,这会产生跨域问题。 我怎样才能让它们在同一个域中?
IIS6 ASP.NET 4.5
【问题讨论】:
【参考方案1】:解决方案一:在同一服务器的不同文件夹中托管,并使用同一域。
解决方案 2:
如果它的Cross-Origin Resource Sharing 有问题。然后在您的WebApi
项目中启用CORS
。
在 API 控制器中:
[EnableCors(origins: "http://myreactclient.domain.com", headers: "*", methods: "*")]
public class TestController : ApiController
查看this 或this 帖子以了解如何启用它。
【讨论】:
【参考方案2】:我认为您可以创建一个站点和一个虚拟目录。在虚拟目录中可以部署api。
例如,如果您的域是 www.yourdomain.com,则此站点指向 react 应用程序。
您可以创建 www.yourdomain.com/apis(虚拟文件夹),您可以在其中部署所有 apis 项目。
【讨论】:
我尝试了这种方法,但是 www.yourdomain.com 中的 reactjs 站点将 www.yourdomain.com/apis 视为 reactjs 站点的一部分。它不能作为 .net 核心 api 工作。任何帮助表示赞赏。谢谢以上是关于在同一个域上运行 Asp.net MVC 和 React的主要内容,如果未能解决你的问题,请参考以下文章
EF Core 中的 ASP.NET Core 5 MVC 和 Identity - 基于资源的授权
在 IIS 上使用 .NET Core 运行 ASP.NET 5 (MVC 6)
是否可以在不同的 AppDomain 中运行 ASP.NET MVC 路由?