如果 Html.RenderAction 或 Html.Action 失败
本文关键字:Html 失败 Action RenderAction 如果 | 更新日期: 2023-09-27 18:33:07
所以页面中有部分,如果一个部分无法呈现,页面的其余部分呈现没有问题。 下一个请求,一切正常,或者至少在修复之前,所有站点都不会出现故障。这是由于SOA。
我想通过Html.RenderAction
或Html.Action
做同样的事情。
因此,如果我有@Html.RenderAction("Foo","Bar")
并且调用失败,我仍然希望页面上的其他部分呈现。
这可能吗?如果是这样,该怎么做?尝试/报告/吞咽?
创建帮助程序方法,例如要调用的Html.TryRenderAction
和Html.TryAction
,而不是分别调用Html.RenderAction
和Html.Action
。
反过来,这些应该调用现有方法,但它们应该在try
块中执行此操作,该块捕获并记录异常,而不会放弃页面的其余部分。
您可以在 Razor .cshtml 文件中使用标准的 C# try/catch/finally 块。
@{
try
{
Html.RenderAction("asdfasdf");
}
catch
{
Output.WriteLine("<p>Failed to load asdfasdf</p>");
}
}