Post chaîne JSON à l'API WEB

J'ai un ASP.NET WEB-API 2 application de la sorcière a besoin d'avoir un POST méthode qui accepte un JOSN string avec la structure inconnue de javascript.
J'ai activé cors et GET méthodes fonctionne très bien, cependant lors de l'envoi de JSON à partir du client de l'api du paramètre de méthode est toujours null.
C'est mon api méthode:

//parameters i tried:
//[FromBody]string model
//[FromBody]dynamic model
//dynamic model
public HttpResponseMessage Post(string model)
{
    return new HttpResponseMessage()
    {
        Content = new StringContent("POST: Test message: " + model)
    };
}

et mon client méthode:

function sendRequest()
{
    var Test = {"Name":"some name"};
    var method = $('#method').val();

    $.ajax({
        type: method,
        url: serviceUrl,
        contentType: 'application/json; charset=utf-8',
        data: JSON.stringify(Test)               
    }).done(function (data)
    {
        $('#value1').text(data);
    }).error(function (jqXHR, textStatus, errorThrown)
    {
        $('#value1').text(jqXHR.responseText || textStatus);
    });
}

Donc la question est comment puis-je poster un inconnu JSON string de javascript et de l'accepter comme une chaîne de caractères dans mon api méthode?

essayez data: {model :JSON.stringify(Test)}
cela me donne un Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource message d'erreur
Ne pas JSON.stringify. Utilisation des Données: {valeur: Test} et dans votre contrôleur ([FromBody]chaîne de Test). Qui doit renvoyer une chaîne de caractères.
N'utilisez pas de JOSN contentType. Il vous suffit de poster une chaîne de format json puis utilisez JsonConvert.DeserializeObject pour convertir votre objet attendu.
essayé mais j'ai toujours une valeur null

OriginalL'auteur Yoav | 2016-04-12