首页 新闻 会员 周边

C#重写Stream

0
悬赏园豆:10 [已关闭问题] 关闭于 2015-12-13 14:17

C#重写Stream的时候为什么超过31744后会调用多次

 

//关键的点,在HttpResponse 输入内容的时候,一定会调用此方法输入数据,所以要在此方法内截获数据
    public override void Write(byte[] buffer, int offset, int count)
    {
        string strBuffer = System.Text.UTF8Encoding.UTF8.GetString(buffer, offset, count);

        ////采用正则,检查输入的是否有页面结束符</string>
        //Regex eof = new Regex("</string>", RegexOptions.IgnoreCase);

        //if (!eof.IsMatch(strBuffer))
        //{
        //    //页面没有输出完毕,继续追加内容
        //    responseHtml.Append(strBuffer);
        //}
        //else
        {
            //页面输出已经完毕,截获内容
            responseHtml.Append(strBuffer);
            string finalHtml = responseHtml.ToString();

            //激发数据已经获取事件
            OnRawDataRecordedEvent(this, new RawDataEventArgs(HttpContext.Current.Request, finalHtml));

            //继续传递要发出的内容写入流
            byte[] data = System.Text.UTF8Encoding.UTF8.GetBytes(finalHtml);

            responseStream.Write(data, 0, data.Length);
        }
    }

 

 

  

小银光的主页 小银光 | 初学一级 | 园豆:25
提问于:2015-11-25 19:19
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册