Pergunta

estou usando RestSharp No projeto ASP .NET MVC 2. Tentando criar RestRequest (usando o método post) e adicionar dois valores de enum (meu tipo de enum-orderstatusflags) para solicitar o corpo-usando o Build-in Restsharp XMLSerializer:

var request = new RestRequest("orders/{vendorID}/{number}", Method.POST);
request.AddBody(previousOrderStatus);
request.AddBody(newOrderStatus);

Mas depois de chamar o método AddBody nos parâmetros de solicitação, pode ver apenas vazio, mas nenhum valor. E enquanto chama o método de ação do MVC, ocorre um erro:

O dicionário de parâmetros contém uma entrada nula para o parâmetro 'anteriorstatus' de tipo não indicável 'orderstatusflags' para método 'reestruturar postorderstatus (int32, system.string, orderstatusflags, orderstatusflags)' em 'orderSerendcendpoint'. Um parâmetro opcional deve ser um tipo de referência, um tipo anulável ou ser declarado como um parâmetro opcional. Nome do parâmetro: parâmetros

Enum se parece com isto:

public enum OrderStatusFlags : long
{
    Pending,
    Confirmed,
    ...
}

Alguém ocorre uma situação semelhante?

Foi útil?

Solução

Alguns problemas aqui. Primeiro, você só pode ligar AddBody() Uma vez ou a última chamada terá precedência. AddBody() também é apenas para enviar XML como órgão de solicitação. Qual é o esquema XML necessário que você precisa enviar para esse URL? Você pode postar um exemplo de XML de amostra que está tentando gerar?

Eu acho que é mais provável que você realmente queira usar AddParameter() Para adicionar alguns parâmetros post, pois isso é muito mais comum que os órgãos de solicitação XML.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top