System.Net.HttpStatusCode 和 Microsoft.AspNetCore.Http.StatusCodes 有什么区别? [已关闭]

问题描述 投票:0回答:2

在 ASP.NET core 中,似乎有两种类型可用于指定 HTTP 状态代码:

这些类型之间有什么区别,以及我应该在哪些用例中使用每种类型?

using System.Net;
using Microsoft.AspNetCore.Http;

public class MyClass
{
    public string GetStatusCodeMessage()
    {
        int statusCode_1 = StatusCodes.Status409Conflict
        int statusCode_2 = (int)HttpStatusCode.Conflict

        // Which variant should I use?
        return $"There is a {statusCode_1} here."
    }
}
.net asp.net-core
2个回答
2
投票

HttpStatusCode
枚举位于
system.Net
命名空间内,这意味着您可以在任何地方使用它,特别是当您需要从API读取信息时。

StatusCodes
类位于
Microsoft.AspNetCore.Http
命名空间

下一个正在使用中,

StatusCodes
类为您提供了
int
代码,但是在
HttpStatusCode
中您必须转换它们

使用它们来定位代码


0
投票

无法将此添加为评论,因为我没有代表,但我在

System.Net.HttpStatusCode
网络应用程序中使用
Asp.Net Core 6
来检查
HttpResponse.StatusCode

System.Net
默认存在,而
Microsoft.AspNetCore.Http
需要添加为依赖项。

因此,如果您还有其他依赖于它的服务(例如:

System.Net
),请使用
IPEndPoint
。无需安装单独的软件包。

您可以在这里找到更多信息

TLDR:这都是由于

Asp.Net Core
混乱的生态系统

© www.soinside.com 2019 - 2024. All rights reserved.