Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SPAASP.Net核心体系结构_Asp.net_Angular_Real Time - Fatal编程技术网

SPAASP.Net核心体系结构

SPAASP.Net核心体系结构,asp.net,angular,real-time,Asp.net,Angular,Real Time,我想通过WebSocket与其他web应用程序建立实时通信的web应用程序 为了实现WS-one连接,最好构建SPA应用程序 不幸的是,2+Asp.Net内核看起来不清晰且不稳定。 此外,我想使用Asp.Core库,如Identity 使用ViewComponents并根据WS-messages重新加载它们而不重新加载View是否更好 关于更好的应用程序架构有什么想法吗?朋友,你似乎有点碍手碍脚。让我来提供一些基本的帮助,帮助你朝着正确的方向前进 如果要使用ASP.NET或ASP.NET COR

我想通过WebSocket与其他web应用程序建立实时通信的web应用程序

为了实现WS-one连接,最好构建SPA应用程序

不幸的是,2+Asp.Net内核看起来不清晰且不稳定。 此外,我想使用Asp.Core库,如Identity

使用ViewComponents并根据WS-messages重新加载它们而不重新加载View是否更好


关于更好的应用程序架构有什么想法吗?

朋友,你似乎有点碍手碍脚。让我来提供一些基本的帮助,帮助你朝着正确的方向前进

如果要使用
ASP.NET
ASP.NET CORE
进行实时通信,则可能会使用
ASP.NET Signal
SignalR
()支持
WebSockets
,但对于不支持Web套接字的旧浏览器,可以采用其他技术。它的功能非常丰富,并且与传统的
ASP.NET
ASP.NET核心
集成良好。(Microsoft提供了这两个版本。)

ASP.NET核心
现在是稳定的,但它的功能仍然不完整——特别是在实体框架方面。然而,对于大多数绿地应用程序,也就是说,大多数新开发,
ASP.NET核心
是一个完全合理的开发选择
ASP.NET Core
提供了许多巨大的好处,比如能够在Linux服务器上部署.NET代码。应用程序构建速度远快于传统的
.NET
(例如
.NET 4.6

是的,
ASP.NET Identity
是身份管理的最佳选择(尽管我通常使用IdentityServer4)。您肯定需要扩展
ASP.NET Identity
才能使用它。(例如,大多数人使用自定义用户属性扩展
AppUser
。对于单页应用程序,您可能还希望使用
JSON Web令牌(JWT)()。
ASP.NET Identity
还有许多其他扩展,您可以(也可能会)进行。它们都需要对ASP.NET Identity
的内部架构有一些基本的熟悉。(我推荐Taiseer Joudeh的教程。(它们是针对<代码> ASP.NET 4 .x/CODE >,但可以很容易地迁移到<代码> ASP.NET核心)。这些教程的输出也可以为您自己的身份系统打下一个很好的基础。

要开发
SPA
单页应用程序
),您需要使用前端框架。到目前为止,最流行的两个框架是Google的
Angular2
()和Facebook的
React
()

根据我从您的帖子中收集到的信息,您可能对这些技术没有太多经验。
ASP.NET核心
signar
,(必要的)
ASP.NET Identity
Angular2/React
的扩展,都有显著的学习曲线。所谓显著性,我的意思是显著性,你可以在几个月内衡量

您需要熟悉
Gulp
才能在
ASP.NET Core
下用作任务运行程序。我建议使用
Visual Studio 2015
Visual Studio 2017
进行
ASP.NET Core
开发。您也可以很好地使用
Visual Studio code

除此之外,您还需要熟悉大量其他工具,以便为这些平台进行有效开发,尤其是在前端

例如,进行有效的
Angular2
开发(这是我对SPA前端的建议),您确实需要知道或能够使用以下所有内容:
Git
ES6
TypeScript
RxJS
JSON
Node
NPM
angular cli
Jasmine
Karma
量角器
CSS
Sass/SCSS
Bootstrap
Angular Material
Webpack
Angular Universal
等。实际上,您还需要使用许多其他工具/库,但这将为您提供一个足够好的起点

在客户端前端,您肯定不会想使用
Visual Studio
。为前端
JavaScript
开发设置是一件非常痛苦的事情。(Visual Studio 2015/2017的Angular2设置是一个负担。)您可能会使用
visualstudio code
Sublime Text
Atom
Webstorm

大多数组织都雇佣一个完整的团队来开发SPA应用程序。其中一些团队成员可能包括以下人员:图形设计师、CSS Themer、前端Javascript开发人员、后端服务器开发人员、DBA/数据架构师、需求分析师、构建/测试专家、测试人员、网络管理员和项目经理。当然,在在许多项目中,一个人可以担任多个角色,也可以共享角色。关键是,SPA项目非常复杂,大多数项目至少有2-3名团队成员,而且往往更多。即使如此,经验丰富的人仍然难以将这些应用程序投入生产

我还想问你一个问题,“你真的需要一个
单页应用程序吗?”<代码> SPA S是伟大的-非常伟大!然而,它们需要更多的知识来开发,并且比其他应用程序复杂得多。如果有一个很好的用例来开发<代码> SPA<代码>,那么就有更多的力量给你。如果没有,那么你可以考虑退一步,做一些不那么雄心勃勃的事情,直到你。更好地处理可能发生的事情

我说这些并不是想让你气馁。我只是想描绘一幅真实的画面,说明你需要什么才能真正构建和部署生产
SPA