我必须调试一个离开公司的人的旧VB.NET 2.0代码.我们有一个生产系统(我们称之为 http://prod)和一个测试系统( http://test).两者几乎相似,包括文档存储库.在查看生产中的文档时,显示在底部的
但是在测试中它是相同的(http://prod/download.ashx?id= {GUID}),即使它应该是http://test/download.ashx?id= {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>"
看html这显示ie
"<table class='table_dataTable'><thead><tr><td>Name</td><td>Jahr</td></tr></thead><tbody><tr><td><a href='http://prod/int/download.ashx?id=4d280886-db88-4b25-98d8-cf95a685d4a4' target='_blank' class='doc'>Document for managers</a></td><td>2014</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>"
任何帮助都表示赞赏,因为VB.NET不是我的主要关注点.
你可能已经检查了这个,但有时明显被忽视了.>验证浏览器窗口中的URL.确保它没有变成http://prod …当你在navegating时.>验证您的Web应用程序未使用框架.可以使用prod URL将相关页面加载到框架中.如果是这种情况,您的web.config可能有一个设置来说明从哪里加载该帧,或者它可能只是硬编码.>检查IIS或web.config中的URL重写规则