Pregunta

En realidad, estoy usando de esta manera. ¿Tienes una mejor manera?

private bool AcceptJson(HttpRequest request)
{
    const string JsonType = "application/json";

    if (request.ContentType.ToLower(CultureInfo.InvariantCulture).StartsWith(JsonType))
    {
        return true;
    }

    if (request.AcceptTypes.Select(t => t.ToLower(CultureInfo.InvariantCulture) == JsonType).Count() > 0)
    {
        return true;
    }

    return false;
}
¿Fue útil?

Solución

Ese enfoque puede llevar a falsos positivos (no tiene en cuenta los valores q o los tipos de contenido de los que application / json es una subcadena).

Puede encontrar un analizador de encabezado Aceptar aceptable en este artículo sobre XHTML . Tendrá que adaptar el algoritmo al idioma de su elección y adaptarlo a los tipos de contenido que esté utilizando.

Otros consejos

Es difícil saber a qué te refieres con " mejor " ;. Estrictamente hablando, no necesita preocuparse por el tipo de contenido, por lo que puede eliminarse. Supongo que, técnicamente, una mejor manera sería eliminar la llamada Select y poner la condición en el método Count.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top