了解.NET生态系统可以让我们做什么

时间:2019-07-16 07:27:28

标签: c# asp.net .net asp.net-mvc asp.net-core

我是.NET生态系统的新手,并且想了解它的工具。根据我在文档和官方博客中所读的内容得出的结论是:

  1. 可以建造SPA/PWA 1.1。如果将那些框架用作REST API服务器,则使用ASP.NET, ASP.NET MVC and ASP.NET Core (MVC)。客户端使用React, Vue or Angular编写。 1.2。使用ASP.NET, ASP.NET MVC使用部分视图渲染。甚至可以在SPA网站上获得类似SSR的行为。

  2. 使用ASP.NET, ASP.NET MVC.NET CoreASP.NET Core (MVC)都可以构建API Web服务器。 M * C在这里更有意义吗?

  3. 可以通过以下方式构建SSR应用(例如曾经在2000年初使用的传统网站) 3.1。 ASP.NET Web Forms 3.2。 ASP.NET 3.3。 ASP.NET MVC

对于较新的ASP.NET Core (MVC),可以使用Blazor UI框架或Razor Pages作为UI。在这种情况下,将不使用以下任何一项:ReactVueAngular

有这个问题:

  1. ASP.NET Web API是仅用于构建API服务器,还是可以使用它创建功能完善的网站?

我对Web /软件开发有一个很好的主意。但是我从未使用过.NET Framework。所以我的问题是关于了解其组成部分。想象一下,我需要了解各个公司运行的.NET项目。我需要对.NET可以做什么以及这些固件的用途有所了解。我的目标是研究.NET项目的组成部分并了解它是什么。虽然API和新的.NET核心很容易理解,但是较旧的ASP.NET(MVC),Web Form,WinForm以及Blazer / Razor如何与例如如果没有.NET经验,React(如果是的话)并不容易。

3 个答案:

答案 0 :(得分:0)

我不确定您是指旧的(.net核心之前)Asp.Net还是新的(核心)。

如果您尝试构建新的东西,我不建议您使用旧的非核心版本。 dotnet的当前版本为dotnet core 2.2。它没有ASP.NET Web API作为单独的功能。相反,它具有ASP.NET Core MVC,其中结合了MVCWebApi的功能。

可以使用Razor引擎使用服务器渲染来创建SPA应用程序和“旧”类型的网站。以这种方式构建的应用程序可以在Linux和Windows上运行。

您自己选择了控制器将返回的内容:用于API的Json数据或用于“经典” Web应用程序的呈现HTML。

P.S。以我的观点(偏见),如今在.net core中使用这两种类型的Web应用程序启动,启动和运行实际上非常容易。与臭名昭著的msdn页面相比,Microsoft对该文档进行了极大的改进,而这些msdn页面没有教程,而只是关于每种方法/属性/等的非常基本的描述。做。他们现在在their website上有很好的文档。

P.P.S。 Razor不反对React,它是Asp.Net的服务器端渲染部分。 Blazor最近是WebAssembly之上的实验技术。似乎现在已在Official Perview中。

答案 1 :(得分:0)

据我了解,您的问题分为两部分。首先是您可以使用ASP.net Web APi构建的内容,其次是如何在Asp.net中创建功能齐全的网站

是的,Asp.net API仅用于在服务器上构建API。通常,SPA,移动应用程序或另一个Asp.net Web应用程序或.net应用程序都可以使用此API。

要制作功能全面的网站,可以使用Asp.net MVC或Web窗体。我们可以说这是asp.net的两种风格。 Web表单已过时,不再使用。人们更喜欢使用MVC。现在,MVC是一个广义的概念,并为Web开发提供了模式。在MVC中,您具有处理请求的控制器和API控制器。控制器返回视图,而API仅返回数据。因此,如果您使用Angular或React构建网站,则如果您的网站是动态的,则需要API提供数据。如果您的网站是静态的,则服务器端不需要任何内容​​。

现在,.net有了.net框架,之后才有了称为.net core的新版本。您可以使用任何此框架来构建网站。但是,有了.net core,您就可以与Windows机器(例如Linux或Mac)分开运行网站。

答案 2 :(得分:0)

这实际上取决于您希望构建的内容。通常,我们会构建api,以便在不同的客户端(例如,WEB,Mobile)中提供不同的服务。您需要了解工作的目的。如果您想创建一个可能在移动设备上实现未来的Web应用程序,则应选择API

现在问您一个问题,API在这里用于数据操作和不同类型的身份验证。您无法通过views (html response)重定向或切换api。因此,您无法使用Asp.NET Web Api建立功能完整的网站。您需要为Api创建一个网络或移动客户端,并使用api来使您的应用正常运行。

您的客户可以是DjangoAsp.NET MVCSprint Boot Android等。