大部分url重写的需求是伪静态,当然有很多第三方开源组件,但是这种需求的核心方法其实就是context.rewritePath()

要是系统像ARR那样,用重写做代理和反向代理,一般的重写就不行了,context.rewritePath()的内部不允许跨站点的url。

你可能会想到实现自己的IHttpHandler,这样有个问题就是,静态资源的url没法重写。

那怎么办?

我通过查context.rewritePath()内部方法是:

     [DllImport("webengine4.dll", CharSet = CharSet.Unicode)]
internal static extern int MgdRewriteUrl(IntPtr pRequestContext, string pszUrl, bool fResetQueryString);

这个方法的关键是怎么获取到当前请求上下文context的句柄?

静态资源重写的关键问题是怎么捕获到静态资源的请求?

 <system.webServer>
<handlers>
<remove name="StaticFile" />
这样就可以在IHttpHandler中捕获静态资源的请求了

我尝试实现ARR的扩展程序,注册GAC后,找不到注册的DLL

最新文章

  1. javascript中的操作符详解1
  2. Cookies的作用
  3. Fedora下的解压
  4. Ubuntu更改鼠标灵敏度
  5. asp.net动态生成按钮Button控件
  6. 【Python】 [基础] 条件判断 与 循环 与dict和set
  7. css010 css的transform transition和animation
  8. POJ 2402 Palindrome Numbers
  9. 技术英文单词贴--G
  10. leetcode 103 Binary Tree Zigzag Level Order Traversal ----- java
  11. 看文档要看仔细,英语要加强啊... cocos2d-x 的 API 和 对应版本的 cocos2d-js 的 API 没有完全对应
  12. 鸭子类型duck typing(动态)
  13. 正式进入C#的世界——委托
  14. C语言函数入门
  15. Git学习02 --暂存区,撤销修改,删除文件
  16. C语言中static关键字的用法
  17. 纯js代码生成可搜索选择下拉列表
  18. Spring 4.x (二)
  19. vue 构建项目vue-cli
  20. Python虚拟环境笔记

热门文章

  1. 一款批量修改AE模板的工具
  2. Angular2 小贴士-多级注入器
  3. 支付宝PC即时到账和手机网站支付同步
  4. 为Guid数据类型的属性(property)赋值
  5. NavisWorks Api 简单使用与Gantt
  6. python 数据类型 ---字符串
  7. 如何数据库表数据导出到excel中
  8. Linux安装xwindow图形界面(转载)
  9. 在VMware上安装VMTools
  10. 脱离spring集成cxf(基于nutz框架)