private Initialize ( |
||
context | ||
initInfo | ||
리턴 | void |
private void Initialize(HttpContext context, PortalContextInitInfo initInfo)
{
_ownerHttpContext = context;
// use absolute uri to clone. requesturi.tostring messes up encoded parts, like backurl
_originalUri = new Uri(initInfo.RequestUri.AbsoluteUri.ToString()); // clone
_isWebdavRequest = initInfo.IsWebdavRequest;
_isOfficeProtocolRequest = initInfo.IsOfficeProtocolRequest;
_basicAuthHeaders = initInfo.BasicAuthHeaders;
_site = initInfo.RequestedSite;
_siteUrl = initInfo.SiteUrl;
_siteRelativePath = initInfo.SiteRelativePath;
_repositoryPath = initInfo.RepositoryPath;
_actionName = initInfo.ActionName;
_appNodePath = initInfo.AppNodePath;
_contextNodePath = initInfo.ContextNodePath;
_versionRequest = initInfo.VersionRequest;
_deviceName = initInfo.DeviceName;
if (_contextNodePath == null)
{
_contextNodeHead = initInfo.RequestedNodeHead;
}
else
{
_contextNodeHead = NodeHead.Get(initInfo.ContextNodePath);
_appNodePath = initInfo.RequestedNodeHead.Path;
}
//if (_siteUrl != null)
// _authenticationMode = _site.UrlList[siteUrl];
_authenticationMode = GetCurrentAuthenticationMode();
if (_contextNodeHead != null /*_isRequestedResourceExistInRepository*/)
{
_nodeType = initInfo.RequestedNodeHead.GetNodeType();
_nodeId = initInfo.RequestedNodeHead.Id;
}
//_queryStringNodePropertyName = HttpContext.Current.Request.QueryString[QUERYSTRING_NODEPROPERTY_KEY];
_queryStringNodePropertyName = context.Request.QueryString[QUERYSTRING_NODEPROPERTY_KEY];
if (_queryStringNodePropertyName != null)
_queryStringNodePropertyName = _queryStringNodePropertyName.Replace('$', '#');
BinaryHandlerRequestedNodeHead = initInfo.BinaryHandlerRequestedNodeHead;
}
internal static PortalContext Create(HttpContext context, PortalContextInitInfo initInfo) { PortalContext pc = new PortalContext(); pc.Initialize(context, initInfo); context.Items.Add(CONTEXT_ITEM_KEY, pc); context.Items.Add(ApplicationStorage.DEVICEPARAMNAME, pc.DeviceName); return pc; }