如何在同一端口上运行带有.net Framework 4.7.1 WebAPI的Angular Web应用?

时间:2019-05-16 14:38:21

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

我有用.net Framework 4.7.1编写的旧dll,并且我有一个Angular 7 Web应用程序,该应用程序是使用REST API(当前带有模拟答案)单独编写的。 我想创建一个WebAPI(最好也是在.net 4.7.1中),该WebAPI在与Web应用程序相同的端口上运行,接收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-angular

我已将其添加到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/ REST可以运行,但我转到http://localhost:8080/api/[controller]时出错。

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

我该如何做到呢?

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

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

0 个答案:

没有答案