【问题标题】:Customize the request to get data from another URL resources自定义从其他 URL 资源获取数据的请求
【发布时间】:2012-05-12 12:56:01
【问题描述】:

情况如下:CMS 系统(封闭源代码)没有以我们想要的方式使用友好的 URL。它添加了子地图和静态 .aspx 文件,而我们没有这样做。示例:CMS 识别:/public/submap/bla/page.aspx?id=CONTACT(本示例中的页面“联系人”)。但是我们希望这个页面的友好 URL 是这样的:/contact

我的目标:在 CMS 引擎呈现页面之前,传入的请求 (/contact) 将更改为 CMS 识别的 URL (/public/submap/bla/page.aspx?id=CONTACT) 但浏览器不会没看到。

我已经在一些带有 HTTPModule(接口 IHttpModule,事件 BeginRequest)的页面上尝试过这个,但唯一可能的方法是将 300 重定向到浏览器(它会收到 '/contact' 并重定向到 /public/.. ./page.aspx?id=CONTACT 浏览器地址工具栏显示的)。

是否有一种方法可以“伪造”CMS 引擎,该引擎将识别它自己的 URL,但在浏览器和 ASP.NET 之间是另一个 URL?

环境:IIS6 (Windows 2003) 和 .NET Framework 3.5/4.0。

【问题讨论】:

  • 请发布您正在使用的 .NET 和 IIS 版本,因为有不同的选项可用。
  • 我正在尝试 Server.Transfer()。看起来这行得通。

标签: asp.net


【解决方案1】:

Server.transfer 是解决方案。

【讨论】:

  • 另一种解决方案:使用Webclient读取CMS HTML数据。在类型 POST/Get、cookie 和可选的发布数据之前设置。
猜你喜欢
  • 2017-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-25
相关资源
最近更新 更多