Пример #1
0
        /// <summary>
        /// 根据需要创建一个自定义的HttpContext
        /// </summary>
        /// <param name="controllerContext">The controller context.</param>
        /// <param name="siteMappedContext">The site.</param>
        /// <returns></returns>
        public PageMappedContext MapPage(ControllerContext controllerContext, SiteMappedContext siteMappedContext)
        {
            Contract.Requires(controllerContext != null);
            Contract.Requires(siteMappedContext != null);
            foreach (var item in _events)
            {
                item.PreMapPage(this, new PreMapPageEventArgs(controllerContext, siteMappedContext));
            }
            var mappedContext = _pageRequestFlow.MapPage(controllerContext, siteMappedContext);

            foreach (var item in _events)
            {
                var args = new PostMapPageEventArgs(controllerContext, siteMappedContext, mappedContext);
                item.PostMapPage(this, args);
                mappedContext = args.PageMappedContext;
            }

            return(mappedContext);
        }
Пример #2
0
        /// <summary>
        /// 根据需要创建一个自定义的HttpContext
        /// </summary>
        /// <param name="controllerContext">The controller context.</param>
        /// <param name="siteMappedContext">The site.</param>
        /// <returns></returns>
        public PageMappedContext MapPage(ControllerContext controllerContext, SiteMappedContext siteMappedContext)
        {
            Contract.Requires(controllerContext != null);
            Contract.Requires(siteMappedContext != null);
            foreach (var item in _events)
            {
                item.PreMapPage(this, new PreMapPageEventArgs(controllerContext, siteMappedContext));
            }
            var mappedContext = _pageRequestFlow.MapPage(controllerContext, siteMappedContext);
            foreach (var item in _events)
            {
                var args = new PostMapPageEventArgs(controllerContext, siteMappedContext, mappedContext);
                item.PostMapPage(this, args);
                mappedContext = args.PageMappedContext;
            }

            return mappedContext;
        }