gpt4 book ai didi

asp.net - 使用 global.asax 重写 URL

转载 作者:行者123 更新时间:2023-12-01 09:34:51 27 4
gpt4 key购买 nike

我正在尝试在我的 vb.net (.net 4) 项目中创建一些友好的 URL,并且我正在尝试使用我阅读的有关 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

以上是我正在尝试的,但它在 objHttpContext 上出错。还有另一种方法吗?理想情况下,一旦我得到上述方法,我将尝试使用数据库调用来计算 URL。因此,我们也非常欢迎朝这个方向提出任何建议。我试图避免在 IIS 上安装任何东西,因为它是一个负载平衡的环境,我不想在每台服务器上都安装一些东西。

谢谢

汤姆

最佳答案

您应该访问 HttpApplication.Context。这是我的做法(C#):

string reqPath = Request.Url.AbsolutePath;
if(reqPath=="/")
newPath="/Pages/PL/Main.aspx";
if (newPath != "")
HttpApplication.Context.RewritePath(newPath);

正如我在文档中看到的,您应该能够使用完全相同的语法来访问 VB.NET 中的上下文。

如果你真的想要,你也可以使用 II7 url rewrite 模块。

关于asp.net - 使用 global.asax 重写 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9974259/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com