我已经玩了一个星期了。今天,我实际上尝试了一个带有角8.x的.NET核心应用程序。我在.NET内核2.2.x上,角度为8.x。当我通过VisualStudio2019运行该应用程序时,我看到这个应用程序需要很长时间才能在网页中实际加载,这与单独运行角度不同。我检查了Chrome浏览器控制台,我看到了以下内容:
sockjs.js:1683 WebSocket connection to 'ws://localhost:41211/sockjs-node/909/dtwlrua0/websocket' failed: Error during WebSocket handshake: Unexpected response code: 400
我没有很强的人际关系背景,但我想这就是问题所在。我该怎么解决呢?
顺便提一句,这是一个基本的应用程序(至少对我来说是这样),所以不需要太多的处理。实际上,我正在使用这教程。根据Visual中的诊断部分,实际需要35秒才能在页面上显示数据(仅仅是来自C# Corner的帖子列表)。
编辑:我忘了提到(但是任何使用.net核心/角度组合的人都可能会抓住它)。我必须修改使用ClientApp核心应用程序生成的默认.NET。我删除了这个文件夹,用角cli创建了ClientApp片段,这样我就可以使用角8.x了。
发布于 2019-06-13 15:18:48
我认为这里的一些概念知识将是有用的。Visual有这个预先打包的角度东西(在我看来)是以一种相当笨拙和杂乱无章的方式配置的,因此几乎可以肯定不能正确工作。
角应用程序是单页应用程序。您可以根据角位中记录的过程构建它们,使用角CLI来帮助您完成这个过程。当您以dev模式构建应用程序时,它将尝试连接到webpack服务器以获得更新通知(因此,当您使用ng serve
时,它将自动重新编译和刷新页面)。此特性不存在于生产构建(ng build --prod
)中。
提供角应用程序的
从根本上说,就实际的角度应用程序本身而言,ASP.Net项目是无用的。当您编译角代码时,ng build
命令运行webpack等进程,生成少量的.css
、.js
和一个呈现应用程序的index.html
页面(可以配置页面的名称)。任何能够服务静态文件的web服务器都可以服务于index.html
,从而运行您的应用程序。
然而,大多数角度应用程序都需要某种后端。这就是.NET核心应用可以派上用场的地方。您将使用.NET从您的角度前端调用到您的HttpClient
核心后端。
我有我的角应用程序与.Net核心在生产和测试配置。为了生产,我有以下几点:
/api
上的一个虚拟目录,它承载了ASP.Net核心API项目的打包/发布版本。请注意,此项目没有与角应用程序的硬链接。为了进行测试/开发,我为webpack服务器设置了代理配置。因此,单击VisualStudio中的"Run“按钮将启动侦听localhost:5800
的API项目,ng serve
命令在localhost:4200
上启动角webpack服务器。对localhost:4200/api
的请求被代理到localhost:5800
。
https://stackoverflow.com/questions/56582950
复制相似问题