SessionScriptManager.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using System.Text;
  2. using Abp.Dependency;
  3. using Abp.Runtime.Session;
  4. namespace Abp.Web.Sessions
  5. {
  6. public class SessionScriptManager : ISessionScriptManager, ITransientDependency
  7. {
  8. public IAbpSession AbpSession { get; set; }
  9. public SessionScriptManager()
  10. {
  11. AbpSession = NullAbpSession.Instance;
  12. }
  13. public string GetScript()
  14. {
  15. var script = new StringBuilder();
  16. script.AppendLine("(function(){");
  17. script.AppendLine();
  18. script.AppendLine(" abp.session = abp.session || {};");
  19. script.AppendLine(" abp.session.userId = " + (AbpSession.UserId.HasValue ? AbpSession.UserId.Value.ToString() : "null") + ";");
  20. script.AppendLine(" abp.session.tenantId = " + (AbpSession.TenantId.HasValue ? AbpSession.TenantId.Value.ToString() : "null") + ";");
  21. script.AppendLine(" abp.session.impersonatorUserId = " + (AbpSession.ImpersonatorUserId.HasValue ? AbpSession.ImpersonatorUserId.Value.ToString() : "null") + ";");
  22. script.AppendLine(" abp.session.impersonatorTenantId = " + (AbpSession.ImpersonatorTenantId.HasValue ? AbpSession.ImpersonatorTenantId.Value.ToString() : "null") + ";");
  23. script.AppendLine(" abp.session.multiTenancySide = " + ((int)AbpSession.MultiTenancySide) + ";");
  24. script.AppendLine();
  25. script.Append("})();");
  26. return script.ToString();
  27. }
  28. }
  29. }