Konstante "application / json" in .NET Framework

81

Ich habe gerade eine Konstante für den Inhaltstyp "application / json" in einer meiner Klassen deklariert.

public const string JsonContentType = "application/json";

Ich bin mir nicht sicher, ob es eine gute Praxis ist.

Hat .NET Framework eine vordefinierte Konstante für "application / json"?

Maxim Eliseev
quelle

Antworten:

58

Während in MediaTypeNames einige MIME-Konstanten definiert sind (siehe hier ), gibt es keine Konstante für "application / json".

Das Einfügen zusätzlicher Inhaltstypen in eine gemeinsam genutzte Konstante ist wahrscheinlich die beste Vorgehensweise, anstatt sie mindestens millionenfach in Ihrem Code in Zeichenfolgenliteralen zu definieren.

Außerdem haben Sie die Flexibilität, neue / benutzerdefinierte MIME-Typen zu verwenden, die eine bestimmte .NET-Version möglicherweise nicht hat.

Kevin
quelle
Ich bin froh, dass Sie über die Definition einer Best Practice für öffentliche Konstanten gesprochen haben. Das ist die # cleanCode-Methode, anstatt Ihren Code hier und da zu verunreinigen.
RBT
Die implizite Schlussfolgerung, dass neue / benutzerdefinierte MIME-Typen "aktiviert" werden, gilt nicht als Definition einer Zeichenfolgenkonstante, die das Akzeptieren von Ergänzungen zur offenen Menge (alle möglichen Zeichenfolgen) nicht ausschließt. Da JSON / XML / HTML im Internet so allgegenwärtig sind, wäre es nützlich, diese Standard-Assemblys (in einer von mehreren) .NET Net / Web-Assemblys zu haben. Ich frage mich, ob .NET Core diese Antwort ändert.
user2864740
Arg, oder, mit der entsprechenden Antwort .. wenn nur "application / json" hinzugefügt wurde ..
user2864740
39
.NET Core 2.1.0 hat das MediaTypeNames.Application.Jsondefinierte :) Siehe github.com/dotnet/corefx/pull/26701 .
Bob Van de Vijver
75

Um eine aktuelle Antwort hinzuzufügen: Da Dotnet Core 2.1 MediaTypeNames.Application.Jsondefiniert wurde.

Informationen zum Änderungssatz finden Sie unter https://github.com/dotnet/corefx/pull/26701 .

Bob Van de Vijver
quelle
3
Es sieht so aus, als ob die JsonKonstante in .NET Standard 2.0 leider nicht verfügbar ist.
Panzercrisis
Bitte markieren Sie dies als die beste Antwort oder aktualisieren Sie die beste Antwort.
bruno.almeida