none
Error en la insercion de datos en LINQ con WebMethod RRS feed

  • Pregunta

  • Hola, espero me puedan ayudar, el problema es que al ingresar al metodo desde ajax, no me inserta en la base de datos los nuevos registros, en el ajax accede en la funcion success:

    Este es mi codigo:

    [WebMethod]
        public static void registrarmensaje(string mensaje, int id, int idActual) 
        {
            datos = new ConexionDBDataContext();
    
            MensajeUsuario nuevoregistro = new MensajeUsuario();
    
            nuevoregistro.idemisor = idActual;
            nuevoregistro.idreceptor = id;
            nuevoregistro.mensaje = mensaje;
            nuevoregistro.fecha = DateTime.Now;
            nuevoregistro.visto = 0;
    
            datos.MensajeUsuario.InsertOnSubmit(nuevoregistro);
            datos.SubmitChanges();
        }
    function enviarmensaje(mensaje, id, idActual) {
        console.log(mensaje+"__"+id+"__"+idActual);
        var actionData = { mensaje: mensaje, id: id, idActual: idActual};
    
        $.ajax({
            type: "POST",
            url: "chat.aspx/registrarmensaje",
            data: actionData,
            async: true,
            beforeSend: function () {
                console.log("Procesando datos...");
            },
            success: function () {
                console.log("Se ingreso correctamente ");
            },
            error: function (result) {
                console.log("ERROR " + result.status + ' ' + result.statusText);
            }
        });
    }
    Espero puedan ayudarme!


    Jordy Santamaria

    miércoles, 9 de diciembre de 2015 21:29

Todas las respuestas

  • hola

    si pones un breakpoint en el webmethod, no se detiene el codigo ? o sea no se invoca el servicio

    entiendo que el $.ajax no genera ningun mensaje de error

    porque no defines el contexto de forma local

    [WebMethod]
    public static void registrarmensaje(string mensaje, int id, int idActual) 
    {
    	using(ConexionDBDataContext datos = new ConexionDBDataContext())
    	{
    		MensajeUsuario nuevoregistro = new MensajeUsuario();
    
    		nuevoregistro.idemisor = idActual;
    		nuevoregistro.idreceptor = id;
    		nuevoregistro.mensaje = mensaje;
    		nuevoregistro.fecha = DateTime.Now;
    		nuevoregistro.visto = 0;
    
    		datos.MensajeUsuario.InsertOnSubmit(nuevoregistro);
    		datos.SubmitChanges();
    	}
    }

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 9 de diciembre de 2015 23:55
  • Ya lo defini de forma local pero aun asi no me inserta nada en la base de datos, y aunque genero el punto de interrupcion en el metodo, no se detiene la ejecucion del codigo, entonces, no se si este mal la consulta o algo por el estilo.

    [WebMethod]
        public static void registrarmensaje(string mensaje, int id, int idActual) 
        {
            using (ConexionDBDataContext datos = new ConexionDBDataContext())
            {
    
                MensajeUsuario nuevoregistro = new MensajeUsuario();
    
                nuevoregistro.idemisor = idActual;
                nuevoregistro.idreceptor = id;
                nuevoregistro.mensaje = mensaje;
                nuevoregistro.fecha = DateTime.Now;
                nuevoregistro.visto = 0;
    
                datos.MensajeUsuario.InsertOnSubmit(nuevoregistro);
                datos.SubmitChanges();
            }
        }


    Jordy Santamaria

    jueves, 10 de diciembre de 2015 14:33
  • hola

    El breakpoint que defines esta activo ? o sea esta completo o indica que no puede detenerse

    imagen

    o sea no estan como el brek del medio que se muestra en la imagen

    -----

    cuando falla invoca no se genera ningun error de javascript ? podrias usar las developer tools del browser, accedes con F12, en la solapa "console" o en la "network" para ver si marca algun error cuando invocas el webmethod

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 10 de diciembre de 2015 15:32
  • Mira me aparece que se registro exitosamente en la consola al oprimir F12

    Y cuando pongo el breakpoint me sale de la siguiente manera:


    Jordy Santamaria

    jueves, 10 de diciembre de 2015 15:42
  • hola

    claro, si usas el console.log() ese mensaje esta confirmando que la operacion esta pasando por el success

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 10 de diciembre de 2015 16:12
  • Pero es que aun no me inserta nada en la base de datos y no entiendo el por que si la sintaxis de la codificacion significa que ya esta correcta... :(

    Jordy Santamaria

    jueves, 10 de diciembre de 2015 16:26