首页 > 解决方案 > 如何在同一端口上运行带有 .net framework 4.7.1 WebAPI 的 Angular Web 应用程序?

问题描述

我有用 .net 框架 4.7.1 编写的旧版 dll,我有一个使用 REST API(目前带有模拟答案)单独编写的 Angular 7 Web 应用程序。我想创建一个在与 Web 应用程序相同的端口上运行的 WebAPI(最好也在 .net 4.7.1 中),接收 REST 请求,使用 4.7.1 dll 处理请求并做出响应。

我正在使用 Visual Studio 2019 和 IIS Express 在本地运行 Web 应用程序。

到目前为止,我已经创建了一个新的 ASP.NET Framework WebAPI 项目,并将 web 应用程序文件夹内容包含在项目文件夹中。我尝试按照本指南使 Web 应用程序使用 REST API 运行: https ://developer.okta.com/blog/2018/07/27/build-crud-app-in-aspnet-framework-webapi-and -角度

我已将此添加到 Web.config

<add key="owin:AutomaticAppStartup" value="false" />

这对 WebApiConfig.cs:

var cors = new EnableCorsAttribute("http://localhost:4200", headers: "*", methods: "*");
config.EnableCors(cors);

以及文章中描述的所有步骤(身份验证和数据库建模除外)

我已将项目 URL 配置为端口 4200,但我收到“'/' 应用程序中的服务器错误。找不到资源。” 我去http://localhost:8080/时出错,尽管http://localhost:8080/api/[controller] REST 有效。

我正在寻找的结果是将应用程序加载到 URL“localhost:XXXX”上,并将 app.component 作为默认页面,REST 以监听“localhost:XXXX/api/[controller]”——至少直到我'将更改 WebAPI 的 URL。注意:Angular 应用程序本身也包含路由。

我怎么能做到这一点?

PS 我设法使用 ASP.NET Core 2.1 项目来做到这一点,但由于潜在的兼容性问题和避免运行时异常,我需要在 .net 4.7.1 项目中运行它。

编辑:最终目标是在同一服务上运行应用程序和 WebAPI。

标签: c#angularvisual-studio-2017.net-4.0visual-studio-2019

解决方案


推荐阅读