用C# WinForm中的WebBrowser或axWebBrowser浏览网页的时候,程序需要做一些特殊处理(转发到一个指定的服务器),用转发后的服务器的响应代替正常的响应,如何正常展示该响应呢?不希望通过 WebBrowser.Document.Write(SourceCode)的方式,因为和正常展示的网页有很多不一样的地方。有没有一个函数,可以拦截WebBrowser或axWebBrowser的每一个Request (Get或Post)呢 ? 
试过 axWebBrowser_beforeNavigate2 ,但只能拦截到 网页文件 这一级, 图片 、 js 、css 等 Request 均无法拦截。好像有一个 异步可插入协议 ,但看起来太复杂了 ...

解决方案 »

  1.   

    加分 ...
    哪一个接口 发送 Request 并接受 Response 呢 ?
      

  2.   

    找到一个经典的ASPX永久的异步可插协议(http://www.codeproject.com/KB/aspnet/AspxProtocol.aspx)实现,其中提供了一个简单的echo协议,可以单独提取出来(这几个文件:ComSupport.cs 、EchoProtocol.cs、ProtocolBase.cs、ProtocolSupport.cs),文件都不用修改,直接编译成dll成功,测试通过,注册之后,
    浏览 echo:abcdefg 会直接在浏览器中输出 abcdefg ,可作为学习异步可插协议的入门案例.我打算在.Net 2.0的 WebBrowser 中实现,请教该如何修改成 临时的 echo 协议 ?
      

  3.   

    找到一个例子:
    http://stackoverflow.com/questions/2013050/asynchronous-pluggable-protocols