私は現在、部分的なビューをレンダリングし、結果を 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()
System.Collections.Generic.Stack 1 継続でのスタック トレース
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)アクション名)