none
Ejecutar Codigo PHP desde c# RRS feed

  • Pregunta

  • Amigos como estan, queria ver si me pueden ayudar necesito ejecutar codigo php desde una aplicacion de escritorio que esta en c#

    En mi php quiero ejecutar un insert a una tabla, los datos que quiero insertar estan en mi aplicacion c# y no se como puedo ejecutar este codigo de php y pasarle los parametros para que realice el insert.

    Mo quiero hacer por webservice ya que esta aplicacion debe hacer el insert en servidores diferentes por l oque no puedo agregar una referencia web a cada servidor.

    El codigo php es algo como esto.

    <?php $conexion = mysql_connect('servidor','usuario','clave');

    mysql_select_db('base',$conexion);

    $query = "INSERT INTO `base`.`comprobantes` (`codigo`, `nombre`, `cliente`)  VALUES ($parametro1,$parametro2,$parametro3);";

    $result = mysql_query($query);?>

     

    Ahora como podria hacer para desde c#parar los parametros a este codigo y hacer que se ejecute.

    Espero puedan ayudarme

    Saludos


    martes, 10 de febrero de 2015 4:07

Respuestas

  • >>de pronto algun ejemplo de como implementar lo que indicas en que parte le deberia cambiar el url para que funcione el ws en n servidores?

    cuando creas un web reference al servicio web tienes la propiedad

     How to make your Web Reference proxy URL dynamic

    entiendo que un web service sabes como crearlo y definir desde el cliente la web reference, no ?

    entonces cuando instancias el proxy harias

    var svc = new NombreServiceProxy();
    svc.Url = ".....";
    
    svc.NombreMetodo();


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 10 de febrero de 2015 14:30

Todas las respuestas

  • ¿Por qué no simplemente reprograma la instrucción SQL usando ADO.net y se olvida de PHP?


    Jose R. MCP
    Code Samples

    martes, 10 de febrero de 2015 6:12
    Moderador
  • >>Mo quiero hacer por webservice ya que esta aplicacion debe hacer el insert en servidores diferentes por l oque no puedo agregar una referencia web a cada servidor.

    pero cada servidor tiene la misma db ? realizas la misma operacion

    porque si es asi creas un servicio web unico que publicas en cada servidor

    la referencia en el cliente es una sola (puedes hacerla contra uno de los sevidores) y despues vas cambiando la url para impactar los cambios en los diferentes servidores

    cuando se crea el proxy al web service una de las propiedades es la url que puedes cambiar en runtime para apuntas a los N servidores que tengas y que expongan ese mismo servicio

    el servicio web lo puedes desarrollar en php

    How to Create a PHP Client for a .NET and SOAP-based Web Service API

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    martes, 10 de febrero de 2015 10:51
  • Gracias por sus respuestas amigos, ahi se me presenta dos dudas mas.

    Con respecto a lo que dice Jose el porque no usar ado.net directo, si uso el conector de mysql este es igual en rendimiento que usar u ws?? de lo qu sabia es mucho mejor usar un ws para hacr inserts en servidores remotos  estoy mal??

    Y con lo que me recomiendas leandro, de pronto algun ejemplo de como implementar lo que indicas en que parte le deberia cambiar el url para que funcione el ws en n servidores??

    Saludos

    martes, 10 de febrero de 2015 14:17
  • Solamente es más eficiente si el cliente está "muy largo" del servidor.  Normalmente en una LAN, inclusive grande, la penalidad por el protocolo más complejo del motor de base de datos suele ser poco si tiene una LAN bien configurada y en buen estado.  Tal vez es su caso, tal vez no.

    No programo PHP, pero si es un Web Service, sigue los estándares y por lo tanto es igual que consumir cualquier otro web service, ya sea hecho en PHP, Java, .Net, etc.  No debería haber diferencia alguna:  Simplemente agregue una nueva referencia web con el URL del servicio web y listo.


    Jose R. MCP
    Code Samples

    martes, 10 de febrero de 2015 14:24
    Moderador
  • >>de pronto algun ejemplo de como implementar lo que indicas en que parte le deberia cambiar el url para que funcione el ws en n servidores?

    cuando creas un web reference al servicio web tienes la propiedad

     How to make your Web Reference proxy URL dynamic

    entiendo que un web service sabes como crearlo y definir desde el cliente la web reference, no ?

    entonces cuando instancias el proxy harias

    var svc = new NombreServiceProxy();
    svc.Url = ".....";
    
    svc.NombreMetodo();


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 10 de febrero de 2015 14:30