SenseNet.Portal.Virtualization.PortalContext.LoadContextNode C# (CSharp) Méthode

LoadContextNode() private static méthode

private static LoadContextNode ( NodeHead head, string versionRequest ) : Node
head SenseNet.ContentRepository.Storage.NodeHead
versionRequest string
Résultat Node
        private static Node LoadContextNode(NodeHead head, string versionRequest)
        {
            Node node = null;
            if (head == null)
                return null;

            //we need to user system account here during startup
            //because authentication occurs after this
            var changeToSystem = (User.Current.Id == RepositoryConfiguration.StartupUserId);

            try
            {
                if (changeToSystem)
                    AccessProvider.ChangeToSystemAccount();

                if (String.IsNullOrEmpty(versionRequest))
                {
                    node = Node.LoadNode(head.Id);
                }
                else
                {
                    VersionNumber version;
                    if (VersionNumber.TryParse(versionRequest, out version))
                        node = Node.LoadNode(head.Id, version);
                }
            }
            finally
            {
                if (changeToSystem)
                    AccessProvider.RestoreOriginalUser();
            }

            return node;
        }