【问题标题】:C# (500) Internal Server Error overrides original exception [duplicate]C#(500)内部服务器错误覆盖原始异常[重复]
【发布时间】:2018-05-07 14:30:39
【问题描述】:

我正在 C# 上创建一个 API。 当我遇到异常时,我会尝试发回帮助信息,但是 “远程服务器返回错误:(500)内部服务器错误。”覆盖原来的。

服务器端的代码就是这个

 string authHeader = actionContext.Request.Headers.Authorization.Parameter;

        if (authHeader.Equals(ATOKEN) || authHeader.Equals(BTOKEN))
        {
            //goal reached. Token Authentication is valid.  
        }
        else
        {
            throw new HttpException("Invalid User!");                                  
        }

当我尝试在客户端处理异常时,找不到消息“无效用户”!

对此有何建议?

【问题讨论】:

    标签: c# api http httpexception


    【解决方案1】:

    不如使用HttpResponseException,如下所示

        var resp = new HttpResponseMessage(HttpStatusCode.NotFound)
        {
            ReasonPhrase = "Invalid User!"
        };
        throw new HttpResponseException(resp);
    

    【讨论】:

    • 好的,但是我该如何处理答案呢?它位于 exception.Response.StatusDescription
    • 字符串消息 = ((HttpWebResponse)e.Response).StatusDescription;
    • 将代码发布在您抛出异常的确切位置
    猜你喜欢
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多