Ejemplo n.º 1
0
        private void CreateContext(IHttpContext httpContext, string portalPath, string virtualPath, bool isPortalRoute)
        {
            foreach (VirtualResourcesElement resource in config.VirtualResources)
            {
                SetVirtualResourceData(resource.Name, new VirtualResourceData(resource.Namespace, resource.Assembly));
            }

            PortalRequest  request  = CreateRequest(httpContext, portalPath, virtualPath, isPortalRoute);
            PortalResponse response = new PortalResponse(this);

            Request  = request;
            Response = response;

            AddConfigOptions(this, request);

            if (isPortalRoute)
            {
                int firstSlashIndex = portalPath.IndexOf('/', 1);
                int length          = firstSlashIndex >= 0 ? firstSlashIndex : portalPath.Length;
                request.TenantName = TenantCache.GetTenantName(httpContext.Request.Url.Host);
                if (!Compare.IsNullOrEmpty(request.TenantName))
                {
                    request.VirtualPath = "/Tenants/" + request.TenantName + request.VirtualPath;
                }

                Section = TenantCache.GetSectionOrDefault(request.TenantName, portalPath.Length == 1 ? null : portalPath.Substring(1, length - 1));
                AddRouteContext(request, response, Section);
                AddControllerResult(this, request, Section);
            }

            PortalTrace.Write("PortalRequestModule", "CreateContext", "PortalContext created.");
            PortalTrace.Write("PortalRequestModule", "CreateContext", "Setup={0}, AllowPhysicalPages={1}, jQuery Version={2}", config.Setup, config.Routes.AllowPhysicalPages, config.JQuery.Version);
        }
Ejemplo n.º 2
0
        private string GetTenancyNameOrNull()
        {
            if (!AbpSession.TenantId.HasValue)
            {
                return(null);
            }

            return(TenantCache.GetOrNull(AbpSession.TenantId.Value)?.TenancyName);
        }