某墙墙了古古路,一些开源的东东里用了古古路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. 基于OBS的插件开发总结

    一.介绍 OBS(Open Broadcaster Software)是一个广泛使用的视频录制直播软件.利用该软件可以实现桌面窗口.游戏.网页.RTMP流.图像等的录制直播.OBS也是一个开放源代码的 ...

  2. 一个简单的inno setup模板

    一.模板代码 基本功能包括多路径安装.多语言.自定义图标. [Setup] ShowLanguageDialog=yes AppCopyright=Copyright Reserved(C) , 36 ...

  3. jQuery获取Select选中的Text和Value

    获取Select选中的Text和Value语法解释:$("#select_id").change(function(){//code...});   // 为Select添加事件, ...

  4. 基于jQuery的自适应图片左右切换

    效果预览:http://hovertree.com/code/jquery/smjv6d0n.htm 基于jQuery编写的横向自适应幻灯片切换特效 全屏自适应jquery焦点图切换特效,在IE6这个 ...

  5. Xml的简单介绍和Xml格式

    XML 被设计用来结构化.存储以及传输信息.HTML 被设计用来显示数据. 1.XML是什么? 1)XML 指可扩展标记语言(EXtensible Markup Language) 2)XML 是一种 ...

  6. 背水一战 Windows 10 (17) - 动画: ThemeTransition(过渡效果)

    [源码下载] 背水一战 Windows 10 (17) - 动画: ThemeTransition(过渡效果) 作者:webabcd 介绍背水一战 Windows 10 之 动画 ThemeTrans ...

  7. php xml 文件读取 XMLReader

    php xml 文件读取 <?php /** $xmlString = '<xml> <persons count="10"> <person ...

  8. Struts2运行流程

    解释:首先浏览器发送一个请求.给/StrutsPrepareAndExecuteFilter调用doFilter()方法.创建/StrutsActionProxy执行execute()方法.有一个引用 ...

  9. java jni c++ 例子

    1. java程序 public class TestHello { static { System.loadLibrary("TestHello"); } public stat ...

  10. 从零开始学 Java - Spring 一主多从、多主多从 数据库配置

    待会苹果要开发布会 我写完这篇文章就准备去看发布会了,因为我买了好几包瓜子和啤酒.由于苹果的保密做的越来越差劲,该曝光的信息差不多全部曝光了,我们这种熬夜看发布会的只不过是让这些信息更加真实,或者说是 ...