Jak zdobyć już przeczytane treści

Mam klasę dziedziczącą z ApiController. Ma taką metodę Put:

[PUT("user/{UserId}")]
public HttpResponseMessage Put(string userId, PaymentRequest paymentRequest)
{
    // Calling business logic and so forth here
    // Return proper HttpResponseMessage here
}

Metoda działa dobrze tak jak powyżej. Teraz muszę sprawdzić poprawność podpisu wywołania metody, ale tutaj mam problem. Podpis jest zasadniczo kombinacją metody + URL + ciało. Metodę, którą mogę uzyskać, wywołując Request.Method i adres URL, który mogę uzyskać, wywołując Request.RequestUri.ToString (), ale nie mogę zdobyć ciała, tak jak byłoprzed był automatycznie deserializowany do obiektu PaymentRequest przez framework asp.net MVC4.

Moja pierwsza próba: Jak już zrozumiałem Request.Content.ReadAsStringAsync (). Wynik zwraca nic. Dzieje się tak, ponieważ treść można odczytać tylko raz.

Moja druga próba: Próbowałem go serializować z powrotem do łańcucha JSON.

var serializer = new JavaScriptSerializer();
var paymentRequestAsJson = serializer.Serialize(paymentRequest);

Problem polega na tym, że formatowanie jest nieco inne niż część podpisu. Ma te same dane, ale więcej przestrzeni.

Nie mogę zmienić tego, co wywołuje moja metoda Put-put, ponieważ jest to komponent innej firmy. Co powinienem zrobić?

questionAnswers(3)

yourAnswerToTheQuestion