Asp.net VB.NET 2.0:代码中的URL来自哪里?

Asp.net VB.NET 2.0:代码中的URL来自哪里?,asp.net,.net,vb.net,httpcontext,ihttphandler,Asp.net,.net,Vb.net,Httpcontext,Ihttphandler,我必须调试一个离开公司的人的旧VB.NET2.0代码。我们有一个生产系统(我们称之为)和一个测试系统()。两者几乎相似,包括一个文档存储库。当查看生产中的文档时,底部显示的所有超链接都是正常的(这意味着它们会显示类似{GUID}的内容) 然而在测试中它是相同的({GUID}),甚至它应该是{GUID} 经过数小时的调试,我找到了相关的代码行: html += "<td><a href='" + HttpContext.Current.Request.Url.AbsoluteUr

我必须调试一个离开公司的人的旧VB.NET2.0代码。我们有一个生产系统(我们称之为)和一个测试系统()。两者几乎相似,包括一个文档存储库。当查看生产中的文档时,底部显示的所有超链接都是正常的(这意味着它们会显示类似{GUID}的内容)

然而在测试中它是相同的({GUID}),甚至它应该是{GUID}

经过数小时的调试,我找到了相关的代码行:

html += "<td><a href='" + HttpContext.Current.Request.Url.AbsoluteUri.Replace(HttpContext.Current.Request.Url.PathAndQuery, "/") + "int/download.ashx?id=" + row.Item(0).ToString() + "' target='_blank' class='" + row.Item(3).ToString() + "'>" + row.Item(1).ToString() + "</a>" + privat + "</td><td>" + row.Item(2).ToString() + "</td>"
所以我想知道,这是从哪里来的?我可能已经找到了编码的相关部分,但我不确定,如果我在这方面是正确的,现在该分别做什么

Public Class download : Implements IHttpHandler, IReadOnlySessionState
    Dim debug As String = ""
    Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
        Dim fehler As String = ""
        Try
            ' Get the file name from the query string
            Dim queryFile As String = context.Request.QueryString("id")
            debug += "id=" + queryFile + "<br>"
Public类下载:实现IHttpHandler、IReadOnlySessionState
Dim debug As String=“”
Public Sub-ProcessRequest(ByVal上下文作为HttpContext)实现IHttpHandler.ProcessRequest
Dim fehler As String=“”
尝试
'从查询字符串中获取文件名
Dim queryFile As String=context.Request.QueryString(“id”)
debug+=“id=“+queryFile+”

感谢您的帮助,因为VB.NET不是我的主要关注点。

您可能已经检查过这一点,但有时明显的问题会被忽略

  • 验证浏览器窗口中的URL。确保它没有更改为。。。当你在导航的时候

  • 确认您的web应用程序未使用框架。可以使用prod URL将相关页面加载到框架中。如果是这种情况,您的web.config可能有一个设置来说明此帧的加载位置,或者它可能只是硬编码的

  • 在IIS或web.config中检查URL重写规则


  • HttpContext.Current.Request.Url.AbsoluteUri.Replace(HttpContext.Current.Request.Url.PathAndQuery,“/”
    以什么形式出现?这可能是对错误URL的最初想法,尽管也可能是html变量在其上运行了一些替换,从而删除了测试URLhttp://prod/int/。这有什么帮助?如果是这样的话,那么我想知道是什么原因导致了链接的配置问题。考虑一下这是如何缩小代码中的问题的,这是如何帮助的。如果我自己找到了代码的相关部分,我就不会在这里提出这个问题了。现在的问题是,是什么更新了HttpContext,使其包含错误的URL信息,这是此过程的下一轮。要解决一个问题的核心可能需要做很多工作,而我在VB.Net方面的经验有限,我试图在这里给出一些想法和建议。请注意,这仍然是我给出的评论,而不是答案。
    Public Class download : Implements IHttpHandler, IReadOnlySessionState
        Dim debug As String = ""
        Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
            Dim fehler As String = ""
            Try
                ' Get the file name from the query string
                Dim queryFile As String = context.Request.QueryString("id")
                debug += "id=" + queryFile + "<br>"