在同一个域上运行 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 - 基于资源的授权

Asp.net mvc和asp.net有啥区别?

在 IIS 上使用 .NET Core 运行 ASP.NET 5 (MVC 6)

是否可以在不同的 AppDomain 中运行 ASP.NET MVC 路由?

在 Mono 上运行 ASP.NET 5 的 Ubuntu 上使用 MVC 6 调整图像大小

Asp.net mvc和asp.net有啥区别?