POST JSON data to .asmx webservice

Estoy tratando de publicar algunos parámetros simples en un servicio web .asmx.
Obtuve el siguiente error:l formato @Request no es válido: application / json; charset = utf-8.
Lo que realmente necesito es poder pasar un objeto complejo, pero no puedo dejar de hacer una solicitud POST con el tipo de contenido json.

Aquí está mi definición de WebService

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public int JsonTest2(int myparm1, int myparm2)
{
    return 101;
}

Y este es mi código javascript

function JsonTest2() {
    $.ajax({
        type: 'POST',
        url: "http://localhost/WebServices/MyTest.asmx/JsonTest2",
        data: "{myparm1:105,myparm2:23}",
        contentType: 'application/json; charset=UTF-8',
        dataType: 'json',
        async: false,
        success: function (msg) {
            alert(msg);
        },
        error: function (msg) {
            alert('failure');
            alert(msg);
        }
    });
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta