2010-06-08 11 views
0

我的应用程序是一个非常简单的“一页式” APP- 它的Default.aspx获取文本(的那种!)

基本上,我试图让,例如:

www.myappurl.com/this是我的文字

我想从上面的例子中得到的"this is my text"搁置。 这将在页面上进行显示(现在) 我真的不希望有使用任何complext URL重写东西这... (我的托管服务提供商使用IIS6)

我尝试使用404处理程序,但是这有点冗长,而且我使用共享主机,无法在自定义404页面上设置“执行网址”。

还有其他想法吗?

回答

0

您可以将带*扩展名的所有请求的映射添加到ASP.NET isapi dll(GET/POST)动词。在IIS中映射扩展名时,您需要取消选中“验证文件在磁盘上”复选框。 (在IIS7集成模式下,您也可以将扩展映射到web.config中)。请注意,这将使asp.net提供的所有内容,甚至图像和脚本文件都可以使用,从而降低速度。

然后在您的web.config中创建一个处理程序映射到您创建的http处理程序。 从那里,在处理程序的ProcessRequest()方法中,您可以访问产生请求的HttpContext,并可以从那里操纵URL。

这是最简单的选项,你也可以创建一个HttpModule,或者将根目录下的默认页面重定向到http://www.domain.com/default.aspx/this是我的文本,在default.aspx的代码隐藏中,你将能够获得下面的文本页面和斜杠。