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"?



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.


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.