Principales respuestas
Ejecutar Codigo PHP desde c#

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
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- Propuesto como respuesta Karen MalagónModerator martes, 10 de febrero de 2015 21:24
- Marcado como respuesta Karen MalagónModerator miércoles, 11 de febrero de 2015 16:20
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 -
>>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- Editado Leandro TuttiniMVP martes, 10 de febrero de 2015 10:58
-
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
-
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 -
>>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- Propuesto como respuesta Karen MalagónModerator martes, 10 de febrero de 2015 21:24
- Marcado como respuesta Karen MalagónModerator miércoles, 11 de febrero de 2015 16:20