¿Por qué mi controlador ASP.Net Core Web API no devuelve XML?

Tengo el siguiente controlador simple de API web:

    // GET: api/customers
    [HttpGet]
    public async Task<IActionResult> Get()
        {
        var customers = await uow.Users.GetAllAsync();
        var dto = customers.Select(p => new CustomerDto {Id = p.Id, Email = p.Email, UserName = p.UserName});
        return Ok(dto); // IEnumerable<CustomerDto>
        }

En Cartero, estoy configurando el encabezado Aceptar enapplication/xml, pero no importa lo que intente, solo puedo recuperar los datos JSON.

Leí en alguna parte que para obtener XML, debo agregar[DataContract] y[DataMember] atribuye a mi DTO, que ahora se ve así:

[DataContract]
public class CustomerDto
    {
    [DataMember]
    public string Id { get; set; }

    [Required]
    [EmailAddress]
    [Display(Name = "Email")]
    [DataMember]
    public string Email { get; set; }

    [Required]
    [Display(Name = "Login Name")]
    [DataMember]
    public string UserName { get; set; }
    }

Llevo varias horas trabajando y no veo por qué no funciona. He intentado:

Hacer que el método de acción sea síncrono y asíncronoDevolver los datos directamente y establecer el tipo de retorno enIEnumerable<CustomerDto>Convertir la colección a una matriz en lugar de una listaDevolviendo unIActionResultDevolver un solo artículo, en lugar de una colecciónVerifiqué que el encabezado Aceptar aparece en la solicitud examinándolo en el depurador.Un montón de "Googlear con Bing" y leer varios blogs

Crear un nuevo proyecto WebAPI a partir de la plantilla y ver si hay alguna inspiración allí (en realidad no).

Espero que sea simple, pero no puedo verlo ...

Respuestas a la pregunta(5)

Su respuesta a la pregunta