背景故事:投入到一个使用 C#、JavaScript 和 SQL 的项目中 - 我对这两者都没有什么经验。得到了一个“工作”网站并使用了代码(数据库和代码在我的计算机上的本地副本用于测试)。很长一段时间以来都有一个问题,每次我在本地运行该程序时,它都会转到“真实”网站而不是我的本地副本。发现存在重定向,当我尝试通过向数据库添加对象来修复它时,它没有改变任何内容 - 仍然重定向。因此,我将地址前面的重定向更改为 localhost:50000,当我尝试更改它时,出现了无限循环的错误。所以我假设数据库或数据库连接有问题。这是发生重定向的代码,但我不知道如何修复它。
//大量代码
DataSet ds = new DataSet();
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
DataTable dt3 = new DataTable();
DataTable dt4 = new DataTable();
DataTable dt5 = new DataTable();
try
{
DBConnection.Open();
DBAdapter = new MySqlDataAdapter(query1, DBConnection);
DBAdapter.Fill(dt1);
DBAdapter2 = new MySqlDataAdapter(query2, DBConnection);
DBAdapter2.Fill(dt2);
DBAdapter3 = new MySqlDataAdapter(query3, DBConnection);
DBAdapter3.Fill(dt3);
DBAdapter4 = new MySqlDataAdapter(query4, DBConnection);
DBAdapter4.Fill(dt4);
DBAdapter5 = new MySqlDataAdapter(query5, DBConnection);
DBAdapter5.Fill(dt5);
ds.Tables.Add(dt1);
ds.Tables.Add(dt2);
ds.Tables.Add(dt3);
ds.Tables.Add(dt4);
ds.Tables.Add(dt5);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
finally
{
DBConnection.Close();
}
//很多代码。
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
// Lots of code
}
else
{
HttpContext.Current.Response.Redirect("http://www.websitename.com");
}
if (ds.Tables[3].Rows.Count > 0)
{
foreach (DataRow row in ds.Tables[3].Rows)
{
UsersAsDealers.Add(row["Username"].ToString());
}
}
if (ds.Tables[4].Rows.Count > 0)
{
foreach (DataRow row in ds.Tables[4].Rows)
{
UsersAsSellers.Add(row["username"].ToString());
}
}
}
else
{
HttpContext.Current.Response.Redirect("http://www.websitename.com);
}
}
哦,问题出在最后一个重定向上。 有什么想法吗?
最佳答案
如果与数据库的连接失败,您应该在 VS 输出窗口中看到错误描述(请参阅行 Console.WriteLine("Error: "+ ex.Message);)
如果您在 if (ds.Tables.Count > 0) 行中添加断点并检查它,也许您可以获得有关 Ds 对象状态的更多信息。
关于c# - 如何修复这个重定向循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23997531/