我目前正在使用ABP设置多租户应用程序。我在尝试使子域租约工作时遇到问题,看来问题有两个。
在此示例场景中,我们假设应用程序在本地托管,并且我们使用http://lvh.me
域来允许子域,而无需修改计算机主机文件。
没有新的主机,可以使用ABP提供的默认租户重新创建方案。
如果转到主页,则一切正常
如果使用SQLite作为数据库提供程序,而我们尝试转到http://default.lvh.me
,则可以看到未选择任何租户。如果我去数据库并更新记录以使其具有“默认”而不是“默认”的名称,则一切正常。这似乎是SQLite和大小写敏感的问题,但是我不确定解决此问题的最佳方法,因为URI默认情况下不区分大小写,因此租赁名称也不应如此。
在appconfig.json
文件的有角度的客户端上,我更新了以下内容:
{
"remoteServiceBaseUrl": "http://{TENANCY_NAME}.lvh.me:21021",
"appBaseUrl": "http://{TENANCY_NAME}.lvh.me:4200"
.....
}
,但是访问应用程序时,远程服务库URL {TENANCY_NAME}
永远不会替换为正确的字符串。当调用getUserConfiguration
方法时,我将错误追溯到调用。由于此调用使用的是AppConsts.remoteServiceBaseUrl
值,因此仍然存在{TENANCY_NAME}
的占位符,从而使调用失败。
是否有一种方法可以使子域开箱即用,还是对应用程序/样板结构本身的限制?