gpt4 book ai didi

c# - 使用 actionResult 返回错误信息

转载 作者:IT王子 更新时间:2023-10-29 04:10:40 26 4
gpt4 key购买 nike

MVC 应用程序,客户端向服务器发出请求,发生错误,想将消息发送回客户端。尝试了 HttpStatusCodeResult 但只返回 404 而没有任何消息,我需要将错误的详细信息发送回客户端。

public ActionResult GetPLUAndDeptInfo(string authCode)
{
try
{
//code everything works fine
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return new HttpStatusCodeResult(404, "Error in cloud - GetPLUInfo" + ex.Message);
}
}

最佳答案

您需要向用户返回一个具有友好错误消息的 View

catch (Exception ex)
{
// to do :log error
return View("Error");
}

您不应向用户显示异常的内部详细信息(如异常堆栈跟踪等)。您应该将相关信息记录到您的错误日志中,以便您可以浏览它并解决问题。

如果您的请求是 ajax 请求,您可以返回一个带有适当状态标志的 JSON 响应,客户端可以评估该状态标志并执行进一步的操作

[HttpPost]
public ActionResult Create(CustomerVM model)
{
try
{
//save customer
return Json(new { status="success",message="customer created"});
}
catch(Exception ex)
{
//to do: log error
return Json(new { status="error",message="error creating customer"});
}
}

如果您想在用户提交的表单中显示错误,您可以使用 ModelState.AddModelError 方法以及 Html.ValidationSummary 等 Html 辅助方法来显示用户提交的表单中的错误。

关于c# - 使用 actionResult 返回错误信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21682581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com