![]() |
Iniciándome en el tema Intraweb
Me he instalado delphi 7 e intraweb 7 y tengo dudas a la hora de implementar mis programillas... ya que en modo diseño (dentro de delphi) mu bien, pero a la hora de llamar a los ISAPI o CGI-STANDALONE desde un navegador es un poco lioso, porque por ejemplo si quieres tener generar un cgi-standalone (exe) luego lo tienes que dejar corriendo como un servicio del w2000, hasta ahi bien, pero a la hora de llamarlo no se como hacer para que tenga una dirección lógica y no un 127.0.0.1:xxxx/exec (localhost) , yo quisiera algo asi como nombredeempresa:81/aplicacionx/exec pero esto no se como hacerlo.
Otra tema, si quisiera tener dos aplicaciones distintas debo tener corriendo dos servicios distintos?? (supongo que si pero estoy un poco verde en esto) Si me pudieran indicar como, o algún manual en español de intraweb donde lo explique os lo agradecería por partida doble ;) |
No puedo aportar un manual en esta ocasión... pero si una idea importante.
un cgi, en ningun momento es un Servicio que dejarás corriendo. Tenes que tener un web-server con soporte para cgi's (digamos, apache) bien configurado, y con una ruta virtual que apunte a la carpeta donde vas a dejar tu cgi. Digamos: /cgi-bin/, apuntando a tu carpeta c:\web\cgi\, donde colgaras los cgi's generados. luego, invocas a tu cgi, via web-server: http://localhost/cgi-bin/micgi.cgi para que responda como http://www.tuempresa.com/cgi-bin/micgi.cgi, por supuesto tenes que tener el dominio tuempresa.com apuntando a la máquina donde resida. Si estas en una red local, bastará con que la máquina que corre el web-server se identifique como miempresa para poder invocarlo del a forma http://miempresa/cgi-bin/micgi.cgi. Hasta luego. ;) |
estoy de acuerdo contigo
estoy de acuerdo contigo en que un cgi no es un servicio de hecho se ejecuta y muere. Pero en el caso de Intraweb tienes que dejar corriendo el programa en si (cgi, lo que genere Intraweb, o el propio motor de intraweb apuntando a mi cgi... ) escuchando en un puerto aleatorio para que cuando lo llames : 127.0.0.1:Puertox/EXEC pueda funcionar.
Antes de meterme con el tema de Intraweb, ya he programado con cgi-standalones, y ISAPI(dll), y entiendo su funcionamiento, pero en el caso de Intraweb me pierdo. Muchas Gracias y un saludo |
Lo de instalarlo como servicio es correcto, intraweb genera un ejecutable que consiste en un servidor web completo. Si tienes dos aplicaciones en intraweb tienes que instalar las dos como servicio y en puertos distintos.
En la segunda cuestion, vamos por partes: nombredeempresa:81/aplicacionx/exec El numero de puerto (en tu ejemplo el 81) lo puedes configurar en tiempo de diseño en las propiedades del objeto/modulo IWSErverController que se habra generado al crear un projecto de tipo Intraweb 7, concretamente la propiedad Port. Si quieres que el puerto se pueda configurar a posteriori durante la ejecucion del programa, en el evento OnCreate del Objeto IWServerController puedes asignar la propiedad Port por codigo, leyendola previamente de un fichero ini por ejemplo: Código:
procedure TIWServerController.IWServerControllerBaseCreate( En cambio la parte 'nombredeempresa' no la puedes configurar en intraweb ya que nada tiene que ver con el servidor web. Eso es simplemente el nombre del equipo y tendras que cambiar la configuracion de windows para ponerle el nombre que tu deses. Si tu ordenador se llama pepe, pues llamaras a las paginas del servidor web con: http://pepe/presupuestos la ip 127.0.0.1 es simplement un alias al ordenador local, es decir las siguientes llamadas son mas o menos equivalentes: http://127.0.0.1/presupuestos http://localhost/presupuestos http://nombre_de_tu_ordenador/presupuestos Saludos Miguel |
:p Muchísimas gracias Miguel, me ha servido mucho tu comentario, y me ha aclarado bastantes conceptos. Mi problema a parte de mi desconocimiento del tema fue que me baje una versión de la página de atozed la 7.0.20 y no me fijé en que era de evaluación, y claro uno de los límites que me ponía era que el puerto aunque lo fijes en la propiedad de IwServerController, al ejecutarlo saca uno aleatorio.... os dejo para vuestro conocimiento las limitaciones de la versión de evaluación ....
Cita:
Saludos, Tony |
Impresionado con IntraWeb
Holas my's friend's :cool:
Soy nuevo en mundo del internet y he quedado impresionado con los ejemplos de IntraWeb, me he atrevido a hacer un ejemplo pequeño de un libro y su vez me guie de nuestro amigo "MICK" con respecto al puerto 80 y ExecCmd con resultados satisfactorios :p Pero tengo un problema: :( "No todo es de color de rosa." En principio por si las dudas mi aplicacion intraweb es una DLL y la estoy ejecuntado en modo local PWS Windows-98 con delphi 7.00 y la intraweb que viene por defecto en delphi7.0 que es la 5.0(creo) Esta *.dll queda en memoria y cuando vuelvo a re-compilar mi aplicacion y quiero copiar la DLL en la carpeta scrpits no lo hace por que dicha DLL esta en uso. Lo que hago es renombrar mi nueva DLL para mis nuevas pruebas. ;) No se como sacar la DLL de memoria, salvo que apague mi pc :) , existe alguna forma "decente" para esto? :confused: Your Friend StartKill Lima-Perú |
yo estoy usando Dynip para direccionar hacia la pagina de intraweb ya que cada que me conecto a internet tengo una ip publica distinta entonces desde una pagina de internet detecto la ip y depues la mando a un mail para que sepan a que direccion y a que pueto conectarse para entrar directamente a la intraweb
|
Pues si esta es parte de un servicio... supongo que bastará con que bajes el servicio, compiles el proyecto, y luego lo volvas a levantar.
Hasta luego, ;) |
Si bien bajando el servicio del IIS puedes modificar actualizar una aplicacion .dll que se esta ejecutando, sin embargo en la mayoria de los casos que implementas una aplicacion Web en internet no tienes acceso a bajar el servicio. Para estos casos recurri la solucion que nos proveen el la pag. http://www.eggcentric.com/ISAPILoader.htm
Una solucion muy simple e ingeniosa y sobre todo gratis que ayudo muchisimo en este problema Salu2 Raul |
intraweb no genera una pagina normal de internet asi que para ponerla en internet tienes que tener un ip privado para colgarla de ahi o en Dynip para que puedas redireccoinar, de todos modos nececitas saber tu ip publica asi que bueno hay detalles
|
Hola my friend's
Publicado por nuestro amigo Jachguate Cita:
Solo quiero recordarles que estoy en modo local y com PWS-98 y creo que PWS-98 no tiene esa opcion (bueno eso quiero creer para justificar mi ignorancia) Con respecto a la dirección que nos da nuestro amigo "Onti" aun no la he probado, estoy por enlazarme a esta. Gracias a todos. Your Friend, StartKill Lima-Perú |
no me di cuenta que era win'98... supongo que tenes un ícono en el tray, o alguna forma de "bajar" el Personal Web Server... (cerrar el programa), que seria lo equivalente a bajar un servicio.
Hasta luego. ;) |
ISAPI Manager
Existe una aplicación que es gratis que te baja la dll de memoria sin tener que tirar el IIS o PWS... se llama ISAPI Manager ahí os dejo la dirección...
http://www.dataweb.de/en/ordering/do...tml#IsapiTools Saludos, Tony |
hola
El problema que les está pasando con IIS es que éste carga la dll la primer vez que es utilizada, y luego la mantiene en memoria para futuros llamados (por lo que el archivo queda bloqueado).
Por eso al intentar borrarla o sobreescribirla genera un error (o simplemente no hace nada); para solucionar esto existe una opción dentro de IIS que hace que se descargue la librería una vez que se dejó de usarla. ATENCIÓN: Esta opción sólo debe ser utilizada mientras se está desarrollando, ya que al momento de ponerla en producción es mucho más rápido que la mantenga cargada en memoria. |
La franja horaria es GMT +2. Ahora son las 21:41:31. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi