c# - 如何在同一端口上运行带有 .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。
解决方案
推荐阅读
- curl - curl 中不支持或禁用协议 Https
- azure - Reliable Queue 和 Reliable Dictionary 中项目的最大大小有任何限制吗?
- java - Maven Spring Boot 2.0.4 - 和弹性搜索 6.2.2 传输 jar 不在依赖树中
- android - java.lang.IllegalStateException:不允许启动服务Intent(来自Activity onCreate)
- javascript - 无法在 javascript / reactjs 中获取对象的方法
- php - 识别从 WordPress / PHP 中动态创建的表单中选择的项目
- alibaba-cloud - 为 ECS 实例阿里巴巴下载现有的密钥对 (pem) 文件
- android - Firebase 比较方法
- image - 如何从 cypress CX3 传输的包中解析 Raw16 数据以进行 YUV 格式化
- python - 在 luigi 中使用 multiprocessing.Queue