我正在尝试将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") {
这在我们的本地环境中工作正常,Message字段包含401,result.responseJSON.ExceptionType包含“System.Web.HttpException”,但在我们的临时环境中尝试时,我们得到500错误代码而ExceptionType是“”
我尝试过远程挖掘,我看到未登录时发生异常,它被抛出但是当它遇到客户端代码时它总是500.