C# 如果Html.RenderAction或Html.Action失败
因此,页面中有多个部分,如果其中一个部分无法呈现,则页面的其余部分呈现时不会出现问题。下一个请求,一切正常,或者至少在修复之前,所有站点都不会停止运行。这是由于SOA 我想通过C# 如果Html.RenderAction或Html.Action失败,c#,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,因此,页面中有多个部分,如果其中一个部分无法呈现,则页面的其余部分呈现时不会出现问题。下一个请求,一切正常,或者至少在修复之前,所有站点都不会停止运行。这是由于SOA 我想通过Html.RenderAction或Html.Action做同样的事情 因此,如果我有@Html.RenderAction(“Foo”,“Bar”)并且调用失败,我仍然希望页面上的其他部分能够呈现 这可能吗?如果是这样,怎么做?try/report/swallow?您可以在Razor.cshtml文件中使用标准的C#try
Html.RenderAction
或Html.Action
做同样的事情
因此,如果我有@Html.RenderAction(“Foo”,“Bar”)
并且调用失败,我仍然希望页面上的其他部分能够呈现
这可能吗?如果是这样,怎么做?try/report/swallow?您可以在Razor.cshtml文件中使用标准的C#try/catch/finally块
@{
try
{
Html.RenderAction("asdfasdf");
}
catch
{
Output.WriteLine("<p>Failed to load asdfasdf</p>");
}
}
@{
尝试
{
Html.RenderAction(“asdfasdf”);
}
接住
{
Output.WriteLine(加载asdfasdf失败);
}
}
创建助手方法,分别调用Html.TryRenderAction
和Html.TryAction
,而不是Html.RenderAction
和Html.Action
反过来,这些应该调用现有的方法,但是它们应该在
try
块中调用,该块捕获并记录异常,而不会放弃页面的其余部分。您在这家最大的互联网公司使用了哪种技术?哇。你问了一个问题,我试着深入研究并得到这样的答案?我可以从一个新手那里得到,而不是像你这样的用户。回到雅虎回答,天才。如果我伤害了你的感情,我很抱歉。谢谢你的否决票。我没有否决这个问题。尽管你很粗鲁,但这是个好问题,不值得投反对票。这就是SO的工作原理,你知道。输出为+1。WriteLine