我正在尝试在客户端捕获 C# 异常,目前我们有一个部分,登录用户在其中获得删除链接,如果单击,我们会检查以确保用户在删除之前仍处于登录状态。如果不再登录,代码将抛出异常。
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[WebMethod]
public static void DeleteComment(Guid commentId)
{
try
{
if (HttpContext.Current.User.Identity.IsAuthenticated)
{
UserEntity currentUser = ((UserEntity)Membership.GetUser());
.. do work
}
else
{
throw new HttpException(401, "401");
}
}
catch (Exception)
{
throw;
}
}
此错误转到 javascript 代码,然后对其进行检查:
if (result.responseJSON.Message == "401") {
这在我们的本地环境中工作正常,消息字段包含 401,responseJSON.ExceptionType 包含“System.Web.HttpException”,但是在我们的暂存环境中尝试时,我们得到一个 500 错误代码,而 ExceptionType 是“”
我试过远程挖掘,我看到未登录时发生异常,它被抛出,但当它到达客户端代码时,它总是 500。