[英]ASP.NET page stops processing
我很难解决似乎是连接问题的问题。 我已经搜索了 web,听起来这不是通往 go 的方法,但如果有人有任何想法或想法,那就太好了。
我有一种预感,这是因为这 4 个页面使用的是相同的.cs 代码文件,并且所有逻辑都在 OnLoad() 发生,所以它正在启动另一个? 这些报告仅用于显示,无需用户输入。
如果需要更多信息,请告诉我,谢谢!
问题:
环境:
Web 报告:
连接示例:
iDB2Connection BlueDB2Connection = new iDB2Connection(strConnectionString);
iDB2DataAdapter BlueDB2PartsDataAdapter = new iDB2DataAdapter();
iDB2Command SqlCmd = BlueDB2Connection.CreateCommand();
SqlCmd.CommandTimeout = 1000000000;
// select proper query based on page being loaded
if (curPage.Contains("amewood"))
{
SqlCmd.CommandText = sqlMainDataWood();
}
else if (curPage.Contains("amesteel"))
{
SqlCmd.CommandText = sqlMainDataSteel();
}
BlueDB2PartsDataAdapter.SelectCommand = SqlCmd;
try
{
BlueDB2PartsDataAdapter.Fill(dsParts);
}
catch (SqlException sqlEx)
{
DisplayError.Text = "Error:" + sqlEx.Message;
}
读取 CSV function:
using (StreamReader reader = new StreamReader(basePath + filePath + "daysStart.csv"))
{
var headerLine = reader.ReadLine();
var line = reader.ReadToEnd();
var values = line.Split(',');
DateTime dt;
DateTime today = DateTime.ParseExact(DateTime.Now.ToString("MMddyyyy"), "MMddyyyy", CultureInfo.InvariantCulture);
int i = 0;
if (values.Length != 0)
{
foreach (string item in values)
{
if (item != "")
{
dt = DateTime.ParseExact(item, "MMddyyyy", CultureInfo.InvariantCulture);
dateData.startDate = dt;
}
else
{
dateData.startDate = today;
}
i++;
}
}
else
{
dateData.startDate = today;
}
}
故障排除:
不关闭数据库连接(处理它)将是罪魁祸首。 运行每个命令或查询后,您必须处理连接(或在事件处理函数结束时)。 As @ Dai suggested if you're not limited to using DB2 and Web Forms you should use newer technologies such as ASP.net MVC and EntityFramework or other ORMs.
更新:阅读您的链接后:
这种类型的任何公共 static(在 Visual Basic 中共享)成员对于多线程操作都是安全的。 不保证任何实例成员都是线程安全的。
这可能是因为不共享 DB2DataAdapter object 的同一个实例。 在页面之间与static
修饰符共享它,看看它是否有帮助。
抱歉耽搁了,我没有太多时间来处理这个问题。 这个问题原来与被覆盖的 static 变量有关...... face palm 。 我敢肯定,如果我发布了所有代码,您会立即注意到它。 感谢您的时间和精力。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.