基本上,该网站可以正常运行12多个小时,然后突然停止工作。我将开始在以前运行良好的LINQ查询中引发奇怪的异常。
我在这篇文章的底部提供了堆栈跟踪。
根据在类似SO帖子上找到的建议,我通过直接从Server
Explorer中的DB拖动表来删除并重新制作了DBML。比较Git中的新旧内容,我发现了一些不同的字段:
NOT NULL
dbml中以前没有的varchar(255)的两个实例NOT NULL
dbml中以前没有int(4)字段一些观察/注意事项 :
InvalidOperationException
在调用的行上得到一个.Count()
,然后重新加载它并IndexOutOfRangeExcpetion
在调用.Any()
或的行上得到一个.First()
似乎总是在以下行引发异常:
System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) +4539
对为什么会发生这种情况以及如何解决此问题有任何想法吗?
编辑1: 我已经在相应的堆栈跟踪上方添加了相关的代码。当执行最后一行代码时,将引发异常。
这是我在重新启动站点之前能够复制粘贴的几个堆栈跟踪信息:
IEnumerable<Chapter> toc = (from c in db.Chapters
where c.Sections.Any()
orderby c.ChapterNumber ascending
select c);
return toc.Count();
[InvalidOperationException: Sequence contains more than one element]
System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) +4539
System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) +207
System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) +500
System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute(Expression expression) +41
System.Linq.Queryable.Count(IQueryable`1 source) +352
MvcPaging.PagedList`1.Initialize(IQueryable`1 source, Int32 index, Int32 pageSize, Nullable`1 totalCount) in C:\path\to\my\project\MvcPaging\src\MvcPaging\PagedList.cs:63
MvcPaging.PagedList`1..ctor(IEnumerable`1 source, Int32 index, Int32 pageSize, Nullable`1 totalCount) in C:\path\to\my\project\MvcPaging\src\MvcPaging\PagedList.cs:16
MvcPaging.PagedList`1..ctor(IEnumerable`1 source, Int32 index, Int32 pageSize) in C:\path\to\my\project\MvcPaging\src\MvcPaging\PagedList.cs:10
MvcPaging.PagingExtensions.ToPagedList(IEnumerable`1 source, Int32 pageIndex, Int32 pageSize) in C:\path\to\my\project\MvcPaging\src\MvcPaging\PagingExtensions.cs:77
MyNamespace.Controllers.ChaptersController.TableOfContents(Nullable`1 page) in C:\path\to\my\project\Controllers\ChaptersController.cs:73
lambda_method(Closure , ControllerBase , Object[] ) +118
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +264
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +39
System.Web.Mvc.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() +129
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +784922
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +314
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +784976
System.Web.Mvc.Controller.ExecuteCore() +159
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +335
System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +62
System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +20
System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +54
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +453
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +37
var contentTop = (new PageRepository()).FindAllPages().Where(p => p.Slug == "login-top");
var contentBot = (new PageRepository()).FindAllPages().Where(p => p.Slug == "login-bottom");
ViewData["ContentAboveTheBox"] = (contentTop.Any() ? contentTop.First().HTML : String.Empty);
[IndexOutOfRangeException: Index was outside the bounds of the array.]
System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) +4539
System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) +207
System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) +500
System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute(Expression expression) +50
System.Linq.Queryable.First(IQueryable`1 source) +383
MyNamespace.Controllers.AccountController.SetLoginContentAreas() in C:\path\to\my\project\Controllers\AccountController.cs:112
MyNamespace.Controllers.AccountController.LogIn(String userName, String password, Nullable`1 rememberMe, String returnUrl, Nullable`1 IsEnc) in C:\path\to\my\project\Controllers\AccountController.cs:122
MyNamespace.Controllers.AccountController.LoginPassThru() in C:\path\to\my\project\Controllers\AccountController.cs:82
lambda_method(Closure , ControllerBase , Object[] ) +79
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +264
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +39
System.Web.Mvc.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() +129
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +784922
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +314
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +784976
System.Web.Mvc.Controller.ExecuteCore() +159
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +335
System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +62
System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +20
System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +54
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +453
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +371
InvalidCastException
在一个特定页面上也引发了异常。更新dbml似乎无法解决此问题,但是重新启动站点可以解决此问题。
您是否在每个请求上都放置了DataContext(应该这样做)?还是您有一个永久存在的DataContext(听起来可能是这种情况)?
听起来可能是线程问题。
问题内容: 试图在LINQ查询(使用Entityframework)中实现条件创建了奇怪的查询。在某些情况下,即使阈值设置为180秒,这些查询也会超时: 使用一些不太优雅的if语句,我没有任何问题,查询在几秒钟内返回: 条件语句都是从查询字符串传递的,这就是为什么它们有时可能带有值而有时却没有值的原因。 使用三元运算符时会出现相同的问题 关于这些内联条件为何表现如此差的情况,是否有合理的解释? 问
问题内容: 我在做什么 : 我预期的输出: 平均=(10 + 20 + 30)/ 5 = 12 MYSQL的输出: 平均值=(10 + 20 + 30)/ 3 = 20 理想情况下,我想要的是MYSQL应该得到5行的总和并除以5,但是它只能除以3(非NULL行) 为什么会发生这种情况,我该怎么做才能获得正确的AVG,即60/5?PS:我不能使标记字段NOT NULL,在我的数据库设计中,标记字段允
我有一个基于Spring的webapp,我的问题是在代码更改后,我开始出现延迟加载异常。下面我详细描述了这种情况: 在开始的时候 我有一个账户和文字实体。一个帐户可以有多个单词,一个单词可以分配给多个帐户。 一个ccount.class 单词班 除了每个账户只能有一个“WordForToday”,它由账户中映射的单词实体表示。类如下: 一切都正常工作。特别是我有一个@Schedilly方法,每天调
问题内容: 鉴于此程序: Sun的(v 1.6.0_24)产生以下字节码: 带有以下异常表: 我的问题是: 为什么到底在异常表中包括了最后一个条目? 据我了解,它基本上说“ 如果引发异常,请捕获它,然后重试相同的指令 ”。 即使使用空try / catch / finally子句(例如 一些观察 Eclipse编译器不会产生任何此类异常表条目 JVM规范没有记录该指令的任何运行时异常。 我知道JV
我创建了两个长列表,重复两个不同的值。在第一个列表中,值交替出现,在第二个列表中,一个值出现在另一个值之前: 然后我迭代它们,对它们不做任何操作: 两者哪个迭代更快?取决于我如何测量!我用每种计时方法跑了50场比赛: 为什么这两种计时方法给我的结果完全相反?为什么这两个列表之间存在速度差异?我希望有两次25-25,而不是50-0和0-50。 之前类似问题的原因以及我认为他们不应该对此负责的原因:
我有以下异步代码示例: 和两个测试: 下面是运行separatley和后chrome控制台中的结果: 问题:为什么我们在(test2)中使用函数,得到的结果与我们直接复制粘贴到(test1)中的结果不同? (上面的例子很抽象,但是我发现这种行为调用ajax请求(而不是和)在我的应用程序中非常重要(请求必须在请求之前...))