更改租户时重新加载整个页面的原因是什么?

时间:2018-08-29 14:57:42

标签: angular typescript aspnetboilerplate

我想知道更改租户后重新加载整个登录页面的原因:

save(): void {
    if (!this.tenancyName) {
        abp.multiTenancy.setTenantIdCookie(undefined);
        this.close();
        location.reload();
        return;
    }
}

然后在重新加载时,在 app-session.service.ts 中调用init()函数:

init(): Promise<boolean> {
    return new Promise<boolean>((resolve, reject) => {
        this._sessionService.getCurrentLoginInformations().toPromise().then((result: GetCurrentLoginInformationsOutput) => {
            this._application = result.application;
            this._user = result.user;
            this._tenant = result.tenant;

            resolve(true);
        }, (err) => {
            reject(err);
        });
    });
}

这对我来说没有意义,因为在GetCurrentLoginInformationsOutput函数中,当前的本地会话正在使用各种AP​​I访问令牌进行更新,然后在用户成功登录后再次进行更新。

当前,我更改了交换租户的逻辑,并删除了location.reload()部分。这样做的原因是为了加快应用程序的响应时间。

我最大的问题是,当不调用重新加载页面部分时,我是否会丢失任何有价值的信息,并且该应用程序将正常运行吗?

1 个答案:

答案 0 :(得分:0)

租户可能具有不同的语言和其他设置。重新加载页面会重置状态等。

  

但是如果我在登录后更新了这些设置,那么重新加载页面部分看起来是否多余?

目标网页也需要一些设置(例如语言)。