使用 ASP.NET 和 JQuery 调用 Web 服务时,我收到 500 服务器错误。我查看回复:
部分回复:
{"Message":"Object reference not set to an instance of an object.","StackTrace":"
抛出它的行是:
db.SaveChanges();
在我的本地计算机上运行它工作的站点时,它只会在 AWS 上的 Windows Server 2012 上引发错误。另一件事是我无法远程调试它。
数据库已初始化,我添加到表中的数据也已初始化我已经仔细检查了正在输入到表中的数据,甚至手动输入数据以确保,但错误仍然存在。
id变量是从函数参数中检索的,如果未初始化,则代码不会运行。
代码:
using (siteEntities db = new siteEntities()){
{
var c_weekly = (from weekly in db.counters_weekly
where weekly.product_id == id
select weekly).SingleOrDefault();
if (c_weekly == null) {
counters_weekly cw = new counters_weekly();
cw.count = 0;
cw.product_id = id;
cw.year = DateTime.UtcNow.Year;
cw.week_number = GetIso8601WeekOfYear(DateTime.Now);
db.counters_weekly.Add(cw);
db.SaveChanges(); <== THROWS ERROR!!!!
c_weekly = (from weekly in db.counters_weekly
where weekly.product_id == id
select weekly).SingleOrDefault();
}
long weekly_old_count = c_weekly.count;
c_weekly.count = weekly_old_count + Global.DataCounters[id];
db.SaveChanges();
}
由实体 Framrwork 生成:
public partial class counters_weekly
{
public decimal id { get; set; }
public long product_id { get; set; }
public int week_number { get; set; }
public long count { get; set; }
public int year { get; set; }
}
任何解释。如果有一种简单的在线调试方法,我会做到的。在这方面真的需要你的帮助。谢谢。
数据库:MySQL
服务器:Windows Server 2012 EC2 AWS
使用:最新的 .NET 连接器