Stała „application / json” w środowisku .NET

86

Właśnie zadeklarowałem stałą dla typu zawartości „application / json” w jednej z moich klas.

public const string JsonContentType = "application/json";

Nie jestem pewien, czy to dobra praktyka.

Czy .NET Framework ma predefiniowaną stałą dla „application / json”?

Maxim Eliseev
źródło

Odpowiedzi:

61

Chociaż istnieją pewne stałe MIME zdefiniowane w MediaTypeNames (patrz tutaj ), nie ma stałej dla „application / json”.

Umieszczanie dodatkowych typów zawartości we współdzielonej stałej jest prawdopodobnie najlepszą praktyką, lepszą niż definiowanie ich w literałach ciągów przynajmniej milion razy w całym kodzie.

Ponadto zapewnia elastyczność korzystania z nowych / niestandardowych typów MIME, których może nie mieć określona wersja .NET.

Kevin
źródło
Cieszę się, że wspomniałeś o zdefiniowaniu najlepszych praktyk w zakresie konstatacji publicznej. To jest sposób, w jaki #cleanCode to robi, zamiast zaśmiecać swój kod tu i tam.
RBT
Domniemany wniosek, że „włącza” nowe / niestandardowe typy MIME, nie jest ważny, ponieważ zdefiniowanie stałej łańcuchowej nie wyklucza akceptacji dodatków do otwartego zbioru (wszystkich możliwych ciągów). Ponieważ JSON / XML / HTML są tak wszechobecne w Internecie, posiadanie tych standardowych (w jednym z kilku) zestawów .NET Net / Web byłoby przydatne. Zastanawiam się, czy .NET Core zmieni tę odpowiedź?
user2864740
Arg lub, z odpowiednią odpowiedzią… jeśli dodano tylko „application / json” ..
user2864740
45
NET Core 2.1.0 ma MediaTypeNames.Application.Json zdefiniowane :) Zobacz github.com/dotnet/corefx/pull/26701 .
Bob Van de Vijver,
79

Aby dodać aktualną odpowiedź: ponieważ MediaTypeNames.Application.Jsonzdefiniowano dotnet core 2.1 .

Zobacz https://github.com/dotnet/corefx/pull/26701, aby zapoznać się z zestawem zmian.

Bob Van de Vijver
źródło
5
JsonNiestety, wygląda na to, że stała nie jest dostępna w .NET Standard 2.0.
Panzercrisis
Oznacz to jako najlepszą odpowiedź lub zaktualizuj najlepszą odpowiedź.
bruno.almeida