A. ABP vNext報錯:An unhandled exception occurred while processing the request.求大佬解惑
如果使用來mvc +ef
EF是一個實體對象資料庫的框架,是需要進行資料庫的連接的,如果使用的自帶的應該是sqlserver資料庫,建議你看看本機是否安裝來資料庫的引擎和實例,然後查看實例的資料庫連接字元串是否可用
B. abp 租戶可以分組嗎
可以的,在使用 ar.spdio.com 二級域名訪問時就可以自動進行租戶分組。在頁面上方可以分組查看。
通常SaaS都是需要多租戶支持的。維基網路對多租戶的解釋是:軟體多租戶是指一個軟體架構的實例軟體運行在一個伺服器上,但存在多個租戶。租戶是一組共享一個公共的用戶訪問特定許可權的軟體實例。多租戶架構,軟體應用程序旨在提供每個租戶專用的實例包括數據、配置、用戶管理、租戶個體功能和非功能屬性。多租戶與多實例架構,獨立的軟體實例代表不同的租戶操作。
多租戶一般涉及如下幾種場景:
多部署-多資料庫:即針對每個租戶獨立部署一套應用程序實例,每個實例對應一個資料庫。這種不算是真正的多租戶,不過對於在設計時沒有考慮多租戶的遺留系統採用這種部署方式不失為一種折中辦法。
單部署-多資料庫:只有唯一的一個應用程序實例,每個租戶分別連接不同的資料庫。
單部署-單資料庫:應用程序實例和資料庫都是一個。通過在需要隔離數據的數據表中加入一個類似TanantId或EnterpriseId來區分。
單部署-混搭資料庫:應用程序實例一個,但是資料庫根據情況,可以是單個或者多個。比如免費用戶放到一個資料庫中,高級用戶分別有自己的資料庫。
集群部署-單/多/混搭資料庫:應用程序的邏輯實例還是一個(只是為了高可用和性能部署為一個集群),然後對應的資料庫可以是單個、多個和混搭。
另外,除了針對租戶的資料庫以外,可能還需要一個全局的資料庫(稱之為主機資料庫)來保存全局范圍的配置數據。在單資料庫情況下,主機數據可能就和租戶數據放在一起(甚至同一個數據表中)。
C. abp怎麼連接sqlserver資料庫
通過檢查旁邊的列名的復選框,在查詢中顯示。在中間窗格中,你可以取消一個輸出復選框以隱藏該欄位被顯示在查詢運行(但欄位仍然會參與查詢)。
添加值下的過濾器來縮小結果到只有那些感興趣的(在這個例子中,它是創建一個WHERE子句只選擇那些記錄了StatusId「1」- 也就是「To Do」)!
D. abp框架如何多租戶只顯示自己的數據
abp框架如何多租戶只顯示自己的數據,操作如下
1、租戶登錄:
基於abp實施的identityserver4授權中心,多租戶登錄時必須指定當前租戶ID,以便將當前租戶ID包含在令牌中。
將請求標頭添加到登錄界面:__tenant:「租戶ID」
2、實現多租戶
一般來說,直接啟用多租戶:
MultiTenancyConsts.IsEnabla = true
但是,如果您是多資料庫多租戶,則需要配置租戶存儲,否則將拋出「找不到租戶存儲」異常。
具體步驟:
域層
引用nuget包:Volo.Abp.TenantManagement.Domain,並依賴於AbpTenantManagementDomainMole模塊
domain.shared層
引用nuget包Volo.Abp.TenantManagement.Domain.Shared;取決於模塊;
實體框架層
引用nuget包:Volo.Abp.TenantManagement.EntityFrameworkCore,它依賴於模塊;
dbcontext連接字元串必須與資料庫中存儲的名稱相同,即,存儲在AbpTenantConnectionStrings表中的名稱與dbcontext記錄的ConnectionStringName一致