C# 无法计算表达式,因为代码已优化或本机帧位于调用堆栈顶部

C# 无法计算表达式,因为代码已优化或本机帧位于调用堆栈顶部,c#,C#,给我: InnerException=无法计算 表达式,因为代码是 优化或本机框架位于顶部 调用堆栈的一部分 错误就是我在这里得到的CommitChanges()。我用谷歌搜索,但我无法解决我的问题我怀疑这实际上不是内部异常-我怀疑这正是调试程序在您尝试检查异常时向您显示的内容 将一个完整的堆栈跟踪转储到日志中,这将给出真正的异常,然后应该清楚地说明提交失败的原因。这是由于ThreadAbortException引起的。。只需在代码块末尾使用以下代码。这可能会解决你的问题 if (!advert

给我:

InnerException=无法计算 表达式,因为代码是 优化或本机框架位于顶部 调用堆栈的一部分

错误就是我在这里得到的CommitChanges()。我用谷歌搜索,但我无法解决我的问题

我怀疑这实际上不是内部异常-我怀疑这正是调试程序在您尝试检查异常时向您显示的内容


将一个完整的堆栈跟踪转储到日志中,这将给出真正的异常,然后应该清楚地说明提交失败的原因。

这是由于ThreadAbortException引起的。。只需在代码块末尾使用以下代码。这可能会解决你的问题

if (!advertismentsDao.AdvertisementUrlExist(ad.Url))
{
    if (!advertismentsDao.AdvertisementExist(ad.Price, 
                                             ad.HollidayDuration, 
                                             ad.Name, 
                                             ad.Description, 
                                             ad.City, 
                                             ad.Area, 
                                             ad.Country,
                                             ad.Agency))
    {
       advertismentsDao.Save(ad);
       advertismentsDao.CommitChanges(); 
    }
}
/*

 catch (System.Threading.ThreadAbortException)
 { }

*/