1. 程式人生 > >ASP.NET Zero--解決方案結構(層)

ASP.NET Zero--解決方案結構(層)

ges 檢測 lan auto git png 其他 nan repos

解決方案結構(層)

創建和下載項目後,您將具有如下所示的解決方案結構:

技術分享

解決方案有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時,這也很有用。

ASP.NET Zero--解決方案結構(層)