某墙墙了古古路,一些开源的东东里用了古古路CDN,比如Exceptional,Opserver ,导致服务要么慢要么用不了

必须要替换之

Exceptional就只要用Response.Filter替换个页面了,因为自己维护个版本还要定期合并什么的,操心

 internal class ResponseStream : MemoryStream
{ #region ctor private Stream Output { get; set; }
public HttpContextBase Context { get; set; } /// <summary>
/// 页面输出的Stream Buffer
/// </summary>
public List<byte> BytesArray { get; set; } public ResponseStream(HttpContextBase context)
{
Context = context;
Output = context.Response.Filter;
context.Response.BufferOutput = true;
context.Response.Buffer = true;
BytesArray = new List<byte>();
} #endregion public override void Write(byte[] buffer, int offset, int count)
{
if (Context.Response.ContentType != "text/html")
{
Output.Write(buffer, offset, count);
return;
}
BytesArray.AddRange(buffer);
} public override void Close()
{
if (BytesArray.Count > )
CloseByReplace();
Output.Close();
base.Close();
} private void CloseByReplace()
{
var html = Encoding.UTF8.GetString(BytesArray.ToArray(), , BytesArray.Count);
var sb = new StringBuilder(html); sb.Replace("//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js", "http://libs.baidu.com/jquery/1.7.2/jquery.min.js");
var outputBytes = Encoding.UTF8.GetBytes(sb.ToString());
Output.Write(outputBytes, , outputBytes.Length);
} }

Action对应的改为:

        public ActionResult Exceptions()
{
var context = System.Web.HttpContext.Current;
context.Response.Filter = new ResponseStream(HttpContext);
var page = new HandlerFactory().GetHandler(context, Request.RequestType, Request.Url.ToString(),
Request.PathInfo);
page.ProcessRequest(context); return null;
}

某墙尼妹,用个Response.Filter来解决StackExchange.Exceptional中google cdn的问题的更多相关文章

  1. 收藏一篇关于Asp.net Response.Filter的文章

    Capturing and Transforming ASP.NET Output with Response.Filter https://weblog.west-wind.com/posts/20 ...

  2. asp.net MVC 3/4 equivalent to a response.filter

    am in a need to intercept all of the html that will be sent to the browser and replace some tags tha ...

  3. asp.net 利用Response.Filter 获取输出内容, 变更输出内容

    重写 Response.Filter 就可以获取或更新输出到浏览器的内容       资料: https://weblog.west-wind.com/posts/2009/Nov/13/Captur ...

  4. Javaweb 使用Servlet技术改写用户登录 使用Filter技术解决中文乱码

    先把实验3的jsp页面复制过来: WebContent->WEB-INF->lib下面的jar包8.0版本也要记得复制: Java Resources->src下的 cn.edu.h ...

  5. 调用Response.Redirect 捕获异常 解决办法(摘抄)

    如果使用 Response.End.Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常.您可以使用 try-catch ...

  6. 使用ie的filter来解决rgba在IE8下没有效果的问题

    使用ie的filter来解决rgba在IE8下没有效果的问题,css代码如下: background: rgba(255,255,255,0.1); filter:progid:DXImageTran ...

  7. 解决 VS Code 中 golang.org 被墙导致的 Go 插件安装失败问题

    微软官方开发的 Go for Visual Studio Code 插件为 Go 语言 提供了丰富的支持.在 VS Code 中首次打开 Go 工作区后,VS Code 会自动检测当前开发环境为 Go ...

  8. 使用过滤器(Filter)解决请求参数中文乱码问题(复杂方式)

    前述:      在写这篇笔记之前,对笔记中的设计模式进行介绍:      本篇笔记中将要使用到的设计模式是:装饰(包装)设计模式           (1)装饰(包装)设计模式口诀:         ...

  9. java项目中通过添加filter过滤器解决ajax跨域问题

    1.在web.xml添加filter <filter> <filter-name>contextfilter</filter-name> <filter-cl ...

随机推荐

  1. Hibernate ——二级缓存

    一.Hibernate 二级缓存 1.Hibernate 二级缓存是 SessionFactory 级别的缓存. 2.二级缓存分为两类: (1)Hibernate内置二级缓存 (2)外置缓存,可配置的 ...

  2. WCF入门教程(五)配置文件

    WCF入门教程(五)配置文件 服务协定以及实现写好后,需要将相关服务公布出去,就需要HOST来承载,供客户端来调用. 承载服务有两种方式,一种通过配置文件,一种通过代码进行配置.上一章已经介绍了代码方 ...

  3. 记住 MVC里用formcollection接收form表单传来的值,表单属性必须有name为健!

    记住 MVC里用formcollection接收form表单传来的值,input属性必须有name为健! 调了一晚上!! 写个日志记下!!

  4. JFreechart在linux下不显示及中文乱码问题

    一.使用JFreeChart建的报表,在window下能正常显示,但是放到linux下就报错,而且有时候会把tomcat挂掉, 原因是jfreechart的在linux系统中需要访问java awt库 ...

  5. thinkphp配置文件路径

    thinkphp配置文件路径在入口文件index.php中配置. 如果Public目录在应用程序目录同等级位置: 2.如果Public在app内部则: 3.如果使用Public在app外部,但定义为: ...

  6. MySQL字符串替换与HTML转义

    ps:今天遇到一个问题,从数据库读取一个字符串,然后在jsp用EL表达式显示时,因为数据库原始数据是带有HTML标签的,所以显示的时候会把标签直接转换成HTML,但是我想要的是HTML标签字符串,所以 ...

  7. WNMP集成环境下配置thinkPHP

    在网上查了许多解决方法,下面是自己测试过能行的方法,只需在nginx.conf文件添加内容就可以了. 打开nginx.conf文件 ## Try the requested URI as files ...

  8. Visual Studio中UnitTesting单元测试模板代码生成

             在软件研发过程中,单元测试的重要性直接影响软件质量.经验表明一个尽责的单元测试方法将会在软件开发的某个阶段发现很多的Bug,并且修改它们的成本也很低.在软件开发的后期阶段,Bug的发 ...

  9. jqGrid几个需要注意的默认设置

    jqGrid中的option属性设置中,几乎每个属性都会给出默认值,然而,有些默认值实在有些坑爹,导致在使用过程中,如果没有注意到而使用了默认值,就会出现一些问题. height:是指jqGrid表格 ...

  10. django基础篇

    Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...