コード例 #1
0
        protected override bool ProcessRequest(CefRequest request, CefCallback callback)
        {
            var requestNo = Interlocked.Increment(ref _requestNo);

            var response = new StringBuilder();
            var headers  = request.GetHeaderMap();

            foreach (string key in headers)
            {
                foreach (var value in headers.GetValues(key))
                {
                    //此处通知某某方法的执行情况
                    //状态,XX方法,执行情况(1 或者 0)
                    //   response.AppendFormat("{0}: {1}\n", key, value);
                }
            }
            response.AppendFormat("ok");

            var d1 = GlobalVar.ExtractPar(request.Url);

            //  GlobalVar.Notifyjs2Csahrp(d1["statue"], d1["method"], d1["result"]);
            LogManager.WriteLog(d1["statue"] + d1["method"] + d1["result"]);
            if (d1.ContainsKey("encoding") && d1["encoding"] == "gb2312")
            {
                GlobalVar.jsTmpValue = HttpUtility.UrlDecode(d1["result"], Encoding.GetEncoding("gb2312"));
            }
            else
            {
                GlobalVar.jsTmpValue = HttpUtility.UrlDecode(d1["result"], Encoding.UTF8);
            }


            LogManager.WriteLog("IsloadOkAutoResetEvent 释放");
            GlobalVar.IsloadOkAutoResetEvent.Set();

            /*
             * response.AppendFormat("<pre>\n");
             * response.AppendFormat("Requests processed by DemoAppResourceHandler: {0}\n", requestNo);
             *
             * response.AppendFormat("Method: {0}\n", request.Method);
             * response.AppendFormat("URL: {0}\n", request.Url);
             *
             * response.AppendLine();
             * response.AppendLine("Headers:");
             * var headers = request.GetHeaderMap();
             * foreach (string key in headers)
             * {
             *  foreach (var value in headers.GetValues(key))
             *  {
             *      response.AppendFormat("{0}: {1}\n", key, value);
             *  }
             * }
             * response.AppendLine();
             *
             * response.AppendFormat("</pre>\n");*/

            responseData = Encoding.UTF8.GetBytes(response.ToString());

            callback.Continue();
            return(true);
        }