所以,這裏的破敗......在_layout強類型的局部視圖
我有一個總體佈局頁爲我的MVC應用程序4異步操作,有一些動態信息,需要強類型來一個特定的域實體來獲取這些信息。爲了保持我的文件更清潔,我已經將類型字段提取爲部分視圖。
要獲取我需要的實體並將其映射到部分的視圖模型,我有一個LayoutController,其中的操作返回Task<PartialViewResult>
。此操作使用服務層向調用實體的Web API項目發出呼叫。它按摩是實體到視圖模型,然後返回PartialView("_LayoutPartial", viewModel).
從_layout頁面中,部分是通過所謂:
@{Html.RenderAction("LayoutInfo", "Layout", new { /*entity primary key*/ });}
我已經通過代碼加強,它確實得到正確的實體回來,但後恢復局部視圖任務後,我得到大家的喜愛服務器錯誤頁面,出現以下錯誤:
我做了一些谷歌搜索,並因此搜索的我不知道這實際上是什麼意思。我是否正確地思考?
感謝您的建議和解釋!我確實通過使動作同步然後使用_service.GetEntity(...)。Result來嘗試你的第一個建議,但它會永遠掛起,這完全是另一個問題,我不知道該如何處理。我會嘗試你的其他選擇,看看我能否得到這個工作。如果我能解釋好的話,我會給你+1! – mshubert12
嗯,我試過,並得到類似的問題... Task.Wait()只是永遠掛起,頁面根本不加載,Task.ContinueWith()跳過ViewBag被填充前返回視圖,所以然後有一個空引用異常。有趣的事情,雖然......在第二種情況下,在空引用異常命中後,ContinueWith中的斷點終於被命中,並且來自Task的正確響應。這很奇怪。 – mshubert12