zoukankan      html  css  js  c++  java
  • ASP.NET Zero--解决方案结构(层)

    解决方案结构(层)

    创建和下载项目后,您将具有如下所示的解决方案结构:

    ASP.NET核心解决方案

    解决方案有8个项目:

    • Core项目包含域层类(如 实体 和 域服务)。
    • Application项目包含应用程序逻辑(如应用程序服务和 DTO)。
    • EntityFrameworkCore项目包含您的DbContext, 存储库实现,数据库迁移和其他EntityFramework Core特定的概念。
    • Web.Mvc项目包含用于后端和前端应用程序的演示/ API层(控制器,视图,javascripts,样式,图像等)。
    • Web.Host项目不包含任何视图/ css / js文件。相反,它只是将应用程序用作API。因此,任何设备都可以将您的应用程序。
    • Web.Common项目包含Mvc和Host项目使用的常用类。
    • Migrator项目是运行数据库迁移的控制台应用程序。
    • 测试项目包含单元和集成测试。

    应用

    ASP.NET Zero解决方案包含3个应用:

    • 前端应用程序:可用于为应用程序创建公共网站或着陆页。
    • 后端应用程序:这是用户名和密码输入的应用程序。
    • Migrator:运行数据库迁移的控制台应用程序。

    多租户

    多租户用于轻松构建SaaS(软件即服务)应用程序。通过这种技术,我们可以部署单个应用程序来服务于 多个客户每个租户都有自己的角色用户设置

    ASP.NET Zero的所有代码库被开发为多租户但是,如果您正在开发单租户应用程序,则可以通过单行 配置禁用它 当您禁用它时,所有多租户的东西将被隐藏,不可用。如果多租户被禁用,将会有一个名为Default租户

    多租户应用有两种观点:

    • Host:管理租户和系统。
    • Tenant:使用应用程序功能。

    如果您正在构建 多租户应用程序请阅读 租户文档。

    网站根URL

    Web.Mvc项目中的appsettings.json包含一个名为“ WebSiteRootAddress ” 的设置,它存储Web应用程序的根URL:

    “WebSiteRootAddress”“http:// localhost:62114 /”

    它用于计算应用程序中的一些URL。因此,您需要在部署时进行更改。对于多租户应用程序,此URL可以包含动态租户(tenancy)名称。在这种情况下,请将{TENANCY_NAME}替换为租户名称:

    “WebSiteRootAddress”“http:// {TENANCY_NAME} .mydomain.com /”

    因此,AspNet Zero可以从URL自动检测当前的租户。如果您按上述方式进行配置,则还应将所有子域重定向到您的应用程序。要做到这一点;

    1. 您应该配置DNS以将所有子域重定向到静态IP地址。要声明“所有子域”,您可以使用通配符,例如* .mydomain.com
    2. 您应该配置IIS将此静态IP绑定到应用程序。

    可能还有其他的方法,但这是最简单的。

    相同的“WebSiteRootAddress”设置也存在于.Web.Host项目中的appsettings.json中。此外,.Web.Host应用程序包含“ ClientRootAddress ”,如果通过Angular UI 使用该API,则使用该 ClientRootAddress如果您不使用Angular UI,您可以忽略它。最后,“ CorsOrigins ”设置用于允许一些域用于跨源请求。当您在分开的服务器/域中托管您的Angular  UI时,这也很有用。

  • 相关阅读:
    PHP-配置方法
    正则表达式-基础使用整理
    SEO-长尾词与分词技术
    SEO-站外优化规范
    SEO-站内优化规范
    SEO-友情链接注意事项
    java netty之ServerBootstrap的启动
    [curator] Netflix Curator 使用
    Netty5.x中新增和值得注意的点
    带连接池的netty客户端核心功能实现剖解
  • 原文地址:https://www.cnblogs.com/liyongke/p/6820209.html
Copyright © 2011-2022 走看看