예제 #1
0
        public void ProcessRequest(HttpApplication context)
        {
            if (_host == null)
            {
                return;
            }
            string page = GetPageName(context.Request.RawUrl);

            if (page.ToLower() == "jsongateway.aspx")
            {
                context.Response.Clear();
                ThreadContext.Properties["ClientIP"] = HttpContext.Current.Request.UserHostAddress;
                if (Log.IsDebugEnabled)
                {
                    Log.Debug(__Res.GetString(__Res.Json_Begin));
                }

                try {
                    FluorineWebContext.Initialize();

                    Json.Rpc.JsonRpcHandler handler = new Json.Rpc.JsonRpcHandler(context.Context);
                    handler.ProcessRequest();

                    if (Log.IsDebugEnabled)
                    {
                        Log.Debug(__Res.GetString(__Res.Json_End));
                    }

                    // Causes ASP.NET to bypass all events and filtering in the HTTP pipeline chain of execution and directly execute the EndRequest event
                    context.CompleteRequest();
                } catch (Exception ex) {
                    Log.Fatal(__Res.GetString(__Res.Json_Fatal), ex);
                    context.Response.Clear();
                    context.Response.ClearHeaders();
                    context.Response.Status = __Res.GetString(__Res.Json_Fatal404) + " " + ex.Message;
                    // Causes ASP.NET to bypass all events and filtering in the HTTP pipeline chain of execution and directly execute the EndRequest event
                    context.CompleteRequest();
                }
            }
        }
예제 #2
0
		public void ProcessRequest(HttpApplication context) {
			if (_host == null)
				return;
			string page = GetPageName(context.Request.RawUrl);
			if (page.ToLower() == "jsongateway.aspx") {
				context.Response.Clear();
				ThreadContext.Properties["ClientIP"] = HttpContext.Current.Request.UserHostAddress;
				if (Log.IsDebugEnabled)
					Log.Debug(__Res.GetString(__Res.Json_Begin));

				try {
					FluorineWebContext.Initialize();

					Json.Rpc.JsonRpcHandler handler = new Json.Rpc.JsonRpcHandler(context.Context);
					handler.ProcessRequest();

					if (Log.IsDebugEnabled)
						Log.Debug(__Res.GetString(__Res.Json_End));

					// Causes ASP.NET to bypass all events and filtering in the HTTP pipeline chain of execution and directly execute the EndRequest event
					context.CompleteRequest();
				} catch (Exception ex) {
					Log.Fatal(__Res.GetString(__Res.Json_Fatal), ex);
					context.Response.Clear();
					context.Response.ClearHeaders();
					context.Response.Status = __Res.GetString(__Res.Json_Fatal404) + " " + ex.Message;
					// Causes ASP.NET to bypass all events and filtering in the HTTP pipeline chain of execution and directly execute the EndRequest event
					context.CompleteRequest();
				}
			}
		}