PHP.Core.ScriptContext.InitWebRequest C# (CSharp) 메소드

InitWebRequest() 정적인 개인적인 메소드

Initializes the script context for a web request.
/// Web configuration is invalid. The context is not initialized then. ///
static private InitWebRequest ( PHP.Core.ApplicationContext appContext, HttpContext context ) : ScriptContext
appContext PHP.Core.ApplicationContext Application context.
context System.Web.HttpContext HTTP context of the request.
리턴 ScriptContext
		internal static ScriptContext/*!*/ InitWebRequest(ApplicationContext/*!*/ appContext, HttpContext/*!*/ context)
		{
			Debug.Assert(appContext != null && context != null);

			// reloads configuration of the current thread from ASP.NET caches or web.config files;
			// cached configuration is reused;
			Configuration.Reload(appContext, false);

			// takes a writable copy of a global configuration (may throw ConfigurationErrorsException):
			LocalConfiguration config = (LocalConfiguration)Configuration.DefaultLocal.DeepCopy();

            // following initialization statements shouldn't throw an exception:    // can throw on Integrated Pipeline, events must be attached within HttpApplication.Init()

			ScriptContext result = new ScriptContext(appContext, config, context.Response.Output, context.Response.OutputStream);

			result.IsOutputBuffered = config.OutputControl.OutputBuffering;
			result.ThrowExceptionOnError = true;
			result.WorkingDirectory = Path.GetDirectoryName(context.Request.PhysicalPath);
            if (config.OutputControl.ContentType != null) context.Response.ContentType = config.OutputControl.ContentType;
            if (config.OutputControl.CharSet != null) context.Response.Charset = config.OutputControl.CharSet;

			result.AutoGlobals.Initialize(config, context);

			ScriptContext.CurrentContext = result;

			Externals.BeginRequest();

			return result;
		}

Usage Example

예제 #1
0
        /// <summary>
        /// Initializes the context.
        /// </summary>
        private void Initialize(ApplicationContext /*!*/ appContext)
        {
            Debug.Assert(appContext != null);

            defaultResponseEncoding = httpContext.Response.ContentEncoding;

            scriptContext            = ScriptContext.InitWebRequest(appContext, httpContext);
            TrackClientDisconnection = !scriptContext.Config.RequestControl.IgnoreUserAbort;

            // Session is ended after destructing objects since PHP 5.0.5, use two-phase finalization:
            scriptContext.TryDispose += () =>
            {
                this.TryDisposeBeforeFinalization();     // ends session

                // finalize objects created during session closing and output finalization:
                this.scriptContext.GuardedCall <object, object>(this.scriptContext.FinalizePhpObjects, null, false);

                // Platforms-specific dispose
                this.TryDisposeAfterFinalization();      // flushes headers
            };

            // Platforms-specific finally dispose
            scriptContext.FinallyDispose += FinallyDispose;

            //
            if (RequestBegin != null)
            {
                RequestBegin();
            }
        }
All Usage Examples Of PHP.Core.ScriptContext::InitWebRequest