2

我正在尝试在客户端捕获 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。

4

0 回答 0