none
Ayuda con WP8 + Wcf + Base de datos en web RRS feed

  • Pregunta

  • Hola a todos, estoy haciendo una aplicacion para WindosPhone 8 en la que estoy probando conectarme a una base de datos en la web como lo es 000webhost con el servicio de Wcf, se como configurar metodos se que hay que hacer la referencia desde la aplicacion para obtener los datos del servicio pero creo que tengo problemas con la conexion la base de datos segun lo que me han dicho, como tambien me han dicho que debo configurar el web.config , por ahora tengo esto:

    Service1.svc.cs

    public void InsertarDatos(string Username, string Password, string Name, string Tel, string Email)
            {
                string connString = "server=mysqlXX.000webhost.com;uid=XXXXX;pwd=XXXXX;database=XXXXXXX;";
    
                 myConn = new MySqlConnection(connString);
                 myConn.Open();
    
                 String Sql = "INSERT INTO member (Username, Password, Name, Tel, Email ) VALUES ( " +
                        "'" + Username + "', '" + Password + "', '" + Name + "','" + Tel + "','" + Email + "')";
                   
                    MySqlCommand mysqlCmd = new MySqlCommand(Sql, myConn);
                    mysqlCmd.ExecuteNonQuery();
                
            }

    IService1.cs

    [ServiceContract]
        public interface IService1
        {
            [OperationContract]
            void InsertarDatos(string Username, string Password, string Name, string Tel, string Email);
            
        }

    MainPage.xaml.cs

    private void Click_Insert(object sender, RoutedEventArgs e)
            {
                Service1Client client = new Service1Client();
                client.InsertarDatosAsync(txtUser.Text, txtPass.Text, txtName.Text, txtTel.Text, txtMail.Text);
            }

    y lo que es el web.config no lo he tocado

    Atento a sus comentarios, saludos!!

    jueves, 25 de septiembre de 2014 6:10

Respuestas

  • La parte servidora parece estar bien (salvo que es vulnerable ante ataques de inyección de SQL y que se te ha olvidado cerrar la conexión, pero eso no impediría que funcione, simplemente dará problemas una vez que lo pongas en producción).

    Pero en el cliente no has indicado cómo has generado la clase Proxy del servicio. Esto se hace con "Add Service Reference" desde el explorador de soluciones. El asistente que te sale para añadir la referencia ya modifica el fichero app.config (además de crear el proxy), por lo que en principio no necesitarás tocarlo a mano. Y el web.config del servidor se modifica automáticamente cuando usas la plantilla de Visual Studio para añadir el .svc, así que tampoco deberías necesitar tocarlo manualmente.

    jueves, 25 de septiembre de 2014 6:32

Todas las respuestas

  • La parte servidora parece estar bien (salvo que es vulnerable ante ataques de inyección de SQL y que se te ha olvidado cerrar la conexión, pero eso no impediría que funcione, simplemente dará problemas una vez que lo pongas en producción).

    Pero en el cliente no has indicado cómo has generado la clase Proxy del servicio. Esto se hace con "Add Service Reference" desde el explorador de soluciones. El asistente que te sale para añadir la referencia ya modifica el fichero app.config (además de crear el proxy), por lo que en principio no necesitarás tocarlo a mano. Y el web.config del servidor se modifica automáticamente cuando usas la plantilla de Visual Studio para añadir el .svc, así que tampoco deberías necesitar tocarlo manualmente.

    jueves, 25 de septiembre de 2014 6:32
  • La parte servidora parece estar bien (salvo que es vulnerable ante ataques de inyección de SQL y que se te ha olvidado cerrar la conexión, pero eso no impediría que funcione, simplemente dará problemas una vez que lo pongas en producción).

    Pero en el cliente no has indicado cómo has generado la clase Proxy del servicio. Esto se hace con "Add Service Reference" desde el explorador de soluciones. El asistente que te sale para añadir la referencia ya modifica el fichero app.config (además de crear el proxy), por lo que en principio no necesitarás tocarlo a mano. Y el web.config del servidor se modifica automáticamente cuando usas la plantilla de Visual Studio para añadir el .svc, así que tampoco deberías necesitar tocarlo manualmente.

    Con la clase proxy a que te refieres??? , la referencia que agrege fue la del servicio

    using PhoneApp.ServiceReference1;

    Saludos !!

    jueves, 25 de septiembre de 2014 7:04
  • Con la clase proxy a que te refieres??? , la referencia que agrege fue la del servicio

    La "clase proxy" es el nombre con el que se conoce al código autogenerado que Visual Studio produce internamente cuando agregas la referencia del servicio. En ese fichero autogenerado se define el namespace "PhoneApp.ServiceReference1" que es el que has metido en tu "using", y dentro está el "class Service1Client" (esta es la "clase proxy"). Por tanto, si el using compila sin errores significa que sí que has añadido la referencia del servicio y que ésta ha generado la clase proxy. Simplemente lo que sucede es que no aclaraste suficientemente en tu pregunta que esto ya lo habías hecho.
    jueves, 25 de septiembre de 2014 7:57