zoukankan      html  css  js  c++  java
  • 【原创】cs+html+js+css模式(四):RemoteCallHandler的修改

    1.         回顾:

    在上一篇我们把所用到的RemoteCallHandler详细的介绍了,包括了它自己内部进行流的窃取,与在访问时进行的数据解析,让JS中的函数能与cs进行交互的等知识,对这些知识有了大体的了解,基本了解了一些。

    2.         介绍:

    本章还是介绍RemoteCallHandler,为什么现在还是介绍此类,因为由于我们所在的区域不同,所用的浏览器不同,会在我们的requestHandler中生成多余的字符,会出现gzip的头文件,为了解决此头文件的问题,我们现在就把上一篇的代码进行修改。

    3.         RemoteCallHandler类的修改:

     

    原来的代码
     /*获取要调用的后台函数名*/
    string methodName = request.Headers["CallingMethod"];
    /*判断操作类型名是否为空*/
    if (string.IsNullOrEmpty(typeName)) { throw new MissingCallingTypeException(); }
    /*判断调用的后台函数名是否为空*/
    if (string.IsNullOrEmpty(methodName)) { throw new MissingCallingMethodException(); }

     

    修改后的代码
    //主要修改位置:此处是用特殊的字符用正则匹配后,直接取后面的字符信息
    Match m = Regex.Match(request.Headers["CallingMethod"].Replace(";",""), @"(?<method>\w+)517MethodEnd");
    if (!m.Success){
       LogUtility.TxtLog.WriteTraceLog(
    string.Format("User:{0}\tAssembly:{1}\tTypeName:{2}\tMethodName:{3}"(HttpContext.Current.Session["LoginStaff"as Better.Model.MStaffInfo).staff_id, assembly, typeName, request.Headers["CallingMethod"]));
       throw new MissingCallingMethodException(); 
    }
    string methodName = m.Groups["method"].Value;

     基本的修改就只有这里,那么我们就再也不害怕requestheader中出现gzip的情况了,下一篇我们会讲js中的调用

  • 相关阅读:
    微信公众号支付java版本
    js数组去重
    原生js关闭窗口
    javascript常用代码片段
    kubeadm 生成的token过期后,集群增加节点
    Git 配置命令设置
    SpringBoot cookie工具类
    Docker中的Cgroup Driver:Cgroupfs 与 Systemd
    使用kubeadm 安装 kubernetes 1.12.0
    IPVS负载均衡
  • 原文地址:https://www.cnblogs.com/NoRoad/p/1701141.html
Copyright © 2011-2022 走看看