TMB*_*B87 3 vb.net asp.net url-rewriting
我正在尝试在我的vb.net(.net 4)项目中做一些友好工作,我正在尝试使用我读到的有关global.asax和Application_Beginrequest的内容,但我无法编译它.
Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
Dim httpContext As System.Web.HttpContext = httpContext.Current
Dim currentURL As String = currentURL.Request.Path.ToLower()
If currentURL.IndexOf("widgets") > 0 Then
objHttpContext.RewritePath("products.aspx?ID=123")
Else
objHttpContext.RewritePath(httpContext)
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
上面是我正在尝试但它在objHttpContext上出错.有另一种方法吗?理想情况下,一旦我使上述方法工作,我将尝试使用数据库调用来计算URL.所以在这方面的任何建议也将非常受欢迎.我正试图摆脱不得不在IIS上安装任何东西,因为它是一个负载导致的环境,我宁愿不在每台服务器上安装一些东西.
谢谢
汤姆
您应该访问HttpApplication.Context.我是这样做的(C#):
string reqPath = Request.Url.AbsolutePath;
if(reqPath=="/")
newPath="/Pages/PL/Main.aspx";
if (newPath != "")
HttpApplication.Context.RewritePath(newPath);
Run Code Online (Sandbox Code Playgroud)
正如我在文档中看到的,您应该能够使用完全相同的语法来访问VB.NET中的上下文.
如果你真的想要,你也可以使用II7 url重写模块.