miércoles, 19 de mayo de 2010

Easy Callback

Donde estoy trabajando están implementado la interface ICallbackEventHandler para hacer llamadas asíncronas al servidor. Sucede que existe la necesidad de hacer varias llamadas asíncronas en una misma página cada una con diferente lógica, convirtiéndose en un extenso “Select Case” y un código engorroso tanto en el cliente como en el servidor, además existe la necesidad de implementar esta interface en un “User Control” pero no es posible por la manera que esta implementada en la página esta genera un error al ejecutarla.

De seguro debe haber implementaciones parecidas o mas elaboradas, bueno la intención es tener algo con la cual se pueda programar de una forma mas fácil y mas cómodamente, entonces entre lo que queremos lograr es:

  • Facilitar el uso de múltiples llamadas asíncronas en una misma página.
  • Hacer llamadas asíncronas desde una página y desde un control de usuario contenido en la página sin problemas.
  • Tener código limpio y fácil de mantener.

una de las ventajas de usar esta implementación es que podemos acceder al contexto de la página en que se ejecuta la llamada lo que no se podría en el caso de llamadas asíncronas con “web methods”. es decir tenemos las referencias a nuestros controles cargados en la página, enlazarlos nuevamente a la fuente de datos, rende rizarlos y enviarlos al cliente.

Codigo Fuente: EasyCallback.zip

Veamos como podemos utilizarlo:

  • Crear función en lado Servidor:

image

  • Registrar función en el evento OnInit de la página

image

  • Llamada del lado del cliente, la llamada se realiza exactamente con el mismo nombre registrado:

image

  • En un User Control seria lo mismo como en una página:

image

image 

Pdata. lo siento usualmente no escribo… así q me es un poco difícil, de seguro hay muchos errores ortográficos y gramaticales y cosas q ni me dejo entender bueno la intención vale(buena excusa)… tratare de mejorar!

Me olvidaba el ejemplo esta en VS2010 pero la solución aplica desde el Framework 2.0 adelante.

Gracias a los que le dieron por lo menos un vistazo.

sábado, 12 de diciembre de 2009

Problema: Visualizar archivos HCM

Solución: Si tienes este problema es muy fácil, solo tienes que hacer clic derecho en el archivo y darle “Unblock”

lunes, 14 de septiembre de 2009

Problema: Ejecutar Aplicaciones Web ASP.NET en IIS 7 en 64 Bits

Solución: Al parecer aun existe alguna incompatibilidad de ejecutar aplicaciones Web en 64 bits utilizando el IIS como servidor Web, aparte de instalar todos los componentes de Internet Information Services en Administrar Características de Windows – Programas .
Debemos forzar y decirle al IIS para habilite la ejecución de aplicaciones de 32 Bits de esta manera:
1. Abra el símbolo del sistema y desplácese hasta el directorio C:\Inetpub\AdminScripts. 2. Escriba el comando siguiente:
cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 true 3. Presione ENTER.
* PD: Asegurese que el archivo Adsutil.vbs exista en el directorio, si no existe rectifique que haya seleccionado todas las funciones de instalación de Internet Information Services.

jueves, 25 de junio de 2009

Desbloquear Archivos y Carpetas

File & Folder Unlocker es una poderosa herramienta y facil de usar que nos permite tener el control de los archivos y carpetas que se encuentran bloqueados por el sistema, y ademas es un freeware

martes, 20 de mayo de 2008

COM+ on Windows Vista


this is the component service manager, it isn't visible.
run in command prompt
>comexp.msc
the parameters configuration is similar on w2003 or XP SO

jueves, 10 de abril de 2008

DTSRun and DTSExec

DTSRun and DTSExec

Just a quick note about differences about SQL DTS.
SQL2000 use DTSRun and DTSRunUI.
SQL2005 use DTSRun and DTSRunUI for legacy package or DTSExec and DTSExecUI for new DTS managed by SSIS.
You can find legacy package query sysdtspackages table within MSDB.

I will to use DTSExec in a small project,I will write about this then

domingo, 16 de marzo de 2008

isNaN Method

isNaN Method
Este metodo retorna valor boolean indicando si tiene un valor NaN, el valor NaN no puede comparase consigo mismo es decir no se puede hacer algo asi:
if(Number(x) == NaN){...}