ASP.NET Zero--解決方案結構(層)
阿新 • • 發佈:2017-05-07
ges 檢測 lan auto git png 其他 nan repos 代碼庫被開發為多租戶。但是,如果您正在開發單租戶應用程序,則可以通過單行 配置禁用它 。當您禁用它時,所有多租戶的東西將被隱藏,不可用。如果多租戶被禁用,將會有一個名為Default的租戶。
解決方案結構(層)
創建和下載項目後,您將具有如下所示的解決方案結構:
解決方案有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的所有
多租戶應用有兩種觀點:
- 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自動檢測當前的租戶。如果您按上述方式進行配置,則還應將所有子域重定向到您的應用程序。要做到這一點;
- 您應該配置DNS以將所有子域重定向到靜態IP地址。要聲明“所有子域”,您可以使用通配符,例如* .mydomain.com。
- 您應該配置IIS將此靜態IP綁定到應用程序。
可能還有其他的方法,但這是最簡單的。
相同的“WebSiteRootAddress”設置也存在於.Web.Host項目中的appsettings.json中。此外,.Web.Host應用程序包含“ ClientRootAddress ”,如果通過Angular UI 使用該API,則使用該 ClientRootAddress。如果您不使用Angular UI,您可以忽略它。最後,“ CorsOrigins ”設置用於允許一些域用於跨源請求。當您在分開的服務器/域中托管您的Angular UI時,這也很有用。
ASP.NET Zero--解決方案結構(層)