我目前正在运行一个简单的代码和平,它呈现部分视图并将结果添加到 ConcurrentBag:
Threading.Tasks.Parallel.For(0, Model.Count,
Sub(i)
carXmls.Add(Html.Partial("PublisherVehicleXml16", Model(i)))
End Sub)
可悲的是,每隔一段时间这个东西就会崩溃,但有以下例外:Stack empty.
这会间歇性地发生,并且仅在我们的登台和生产环境中发生。这可能来自哪里的任何想法?
编辑: carsXmls 声明如下:
Dim carXmls As New Collections.Concurrent.ConcurrentBag(Of MvcHtmlString)
完全的例外是:
消息堆栈为空。
源系统
目标站点T Pop()
1.Pop() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy() at System.Web.Mvc.WebViewPage.ExecutePageHierarchy() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.b__19() at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func
在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) 在 System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String) 的 System.Collections.Generic.Stack 1 继续的堆栈跟踪动作名称)