• [公告]代码着色功能的一个Bug


        首先非常感谢木野狐发现这个Bug, 这个Bug存在这么久,  我竟然没发现!
        Bug现象:
        当插入代码时,如果代码中含有a["b"]这种形式的代码,就会造成asp.net进程占用100% CPU, 如果是IIS 6, 会引起IIS重启进程,出现“Service Unavailable”的错误。 博客园以前出现的“Service Unavailable”可能就是这个Bug引起的。
        原因:
        是一个将空格转换成“ ”的正则表达式引起的。 正则表达式代码如下:
                  
    public static string ReplaceSpace(string content)
    {
    string findstr="(?<fore>(?:(?:[^< ])*(?:<(?:!--(?:(?:[^-])*(?:(?=-->)|-))*--|(?:[^>])+)>)?)*)[ ](?<back>(?:(?:[^< ])*(?:<(?:!--(?:(?:[^-])*(?:(?=-->)|-))*--|(?:[^>])+)>)?)*)";
    string replacestr="${fore}&nbsp;${back}";
    string targetstr=System.Text.RegularExpressions.Regex.Replace(content,findstr,replacestr,System.Text.RegularExpressions.RegexOptions.IgnoreCase);
    return targetstr;
    }


        这个正则表达式是一位朋友提供的,主要功能是将字符串中非htmt标记中的空格转换成“&nbsp;”, 目前我还没查出这个正则表达式中的问题,请熟悉正则表达式的朋友指点。
        临时解决方法:禁用该正则表达式。这会影响代码行之前的空格显示。
        另外,给代码着色功能增加了两个选项:1、是否显示行号 2、是否使用代码折叠

        注:请使用CNBlogs DotText 1.0 Beta 2 的朋友注意该问题。
       

  • 相关阅读:
    JavaScript传递参数方法
    IScroll5不能滑到最底端的解决办法
    VS Less Compiler插件使用
    Sql查询某个字段是否包含小写字母
    试用VS2019正式版
    Ext.net MessageBox提示
    VS打开项目 提示Asp.net4.0未在web服务器上注册的解决方案
    罗技M185鼠标飘
    Ext.Net的一例Ext Undefined解决办法
    JGUI源码:DataTable固定列样式(20)
  • 原文地址:https://www.cnblogs.com/dudu/p/141031.html
Copyright © 2020-2023  润新知