在单个页面应用程序中使用ASP.NET Core 3的优点/缺点

时间:2020-04-18 20:06:28

标签: iis asp.net-core-mvc single-page-application aurelia asp.net-core-3.1

为更清楚起见,请想象一个分为两个站点的“ Web应用程序”:HTML内容(Web)和API内容。我的问题是关于在网站上使用ASP.NET Core 3的好处。例如:

优点:

  • 如果将SPA托管在Razor页面中,则可以轻松可靠地获取应用程序的真实根目录,以设置HTML base标签(请注意~)。我个人不知道没有后端框架,没有其他方法可以达到这个结果。
    <!DOCTYPE html>
    <html>
    <head>
        <base href="~/" />
    </head>
    ...
    </body>
    </html>
    
  • Microsoft.AspNetCore.Builder.SpaApplicationBuilderExtensions.UseSpa(...)创建一个后备路由,使您的SPA能够智能地响应404之类的情况。这可以通过诸如IIS中的URL Rewrite之类的方式来完成,但这并不是我特别想要的设置。
  • 上述后备路线还使您无需在页面URL中使用#。否则我不知道该怎么做。
  • 内置日志和诊断支持-我发现.NET Core 3的日志和诊断比IIS更易访问。
  • 如果需要,它会在那里。谁能确定地说他们在应用程序中永远不需要后端框架?在我的书中这是一个简单的增值,所以我认为最好从一开始就从后端框架开始。

缺点:

  • 使用ASP.NET Core可能会对性能产生轻微影响吗?
  • 这是附加的设置要求。实际上,我们的API正在运行ASP.NET Core3。我们已经必须安装一个.NET Core 3应用程序(API),因此,安装第二个.NET Core 3应用程序实际上几乎不需要额外的工作。而且,如果您将代码发布为完全独立的应用程序怎么办?
  • “文件很多”-我认识的人就是这么说的,因此我在这里公平地包含了它。但我承认我只是不这样认为。
  • 这是另一个编译步骤
  • 并非所有人都知道.NET Core3。
  • 这是另一个失败点

您能想到任何优点或缺点吗?我的主张我错了吗?

0 个答案:

没有答案