IIS7 Problema con el Ajax toolkit en ASP.NET

Cuando desarrolle el proyecto usando el framework 4.0 de .net y luego me testiaron en mi servidro IIS 7  local (windows 7  profesional), me tope con que al subirlo al el servidor de produccion (windows 2008 r2), las funcionalidades relacionadas con el toolkit de AJAX, dejaron de funcionar, realmente no entendia que pasaba puesto que teoricamente mi servidor de IIS7 estava configurado de la mismas forma que el servidor de pruebas. El error que me aparecia era el siguiente:

‘Sys’ is undefined.

Cambio de password MySQL

Como puedo cambiar el password de MySQL en Windows? Asignar un password para MySQL es una tarea fundamental, por defecto root es el usuario administrador. Cuando instalamos distribuciones como wamp nos deja sin password a este usuario, asi que manualmente debemos asignarlo. Para eso desde la linea de comando utilizamos el comando mysqladmin para en primera instancia asignar el password y en el futuro poder cambiarlo (Como se muestra en la siguiente imagen). Si lo que se desea es cambiar el password existente colocamos

>mysqladmin -u root -p’oldpassword’ password newpass

Espero que algun dia les sirva. :-)

MySQL – Relaciones non-identifying e identifying

Creo que esta pregunta me la hice varias veces hace mucho tiempo (Cuando inicie con Bases de Datos) y en estos días me la han hecho varias veces en la oficina. Cuando hacemos nuestro modelo entidad relación para modelar las relaciones entre tablas (en MySQL usando InnoDB obviamente),  utilizamos una relación identifying cuando las elementos de las tablas no pueden existir por si solos (existe una dependencia). Ejemplo: La tabla edificio tiene información relacionada con datos como dirección, ciudad, nombre, etc. La tabla apartamentos relaciona cada uno de los partamentos de cada edificio (un apartamento no puede existir sin edificio que lo contenga) Para el caso de las relaciones non-identifying (donde no existe una dependecia para existir) podemos hablar de una videotienda, donde existe una tabla de películas y otra de personas que las rentan, perfectamente una película puede no estar rentada.

Ajax ASP.Net Server Problem ('Sys' is undefined.)

En estos dias tuve un problema a la hora de montar una aplicacion que tenia cierto elemento que usaban las librerias de Ajax ToolKit, el error que despliega esta relacionado con ‘Sys’ is undefined. La solucion que encontre fue la de agregar los siguientes elementos al Web.Config <system.webServer> <validation validateIntegratedModeConfiguration=”false”/> <modules> <add name=”ScriptModule” preCondition=”integratedMode” type=”System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″/> </modules> <handlers> <remove name=”WebServiceHandlerFactory-Integrated”/> <add name=”ScriptHandlerFactory” verb=”*” path=”*.asmx” preCondition=”integratedMode” type=”System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″/> <add name=”ScriptHandlerFactoryAppServices” verb=”*” path=”*_AppService.axd” preCondition=”integratedMode” type=”System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″/> <add name=”ScriptResource” preCondition=”integratedMode” verb=”GET,HEAD” path=”ScriptResource.axd” type=”System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″/> </handlers> </system.webServer> Con esto funciono todo muy bien :-)

Creando un Windows Service con C#

Para iniciar la creacion de nuestro servicio, abrimos un nuevo proyecto de Windows Services y Seleccionamos la opcion de Servicio de Windows como se muestra en la siguiente imagen.
wasp group

servicio de windows

El resultado sera el que veremos a continuación (la plantilla inicial) En las propiedades poder cambiar el nombre de este, para este caso le colocaremos MiPrimerServicio El siguiente pase es la creación de la funcionalidad. Como podemos ver en el código auto generado del servicio existen dos funciones overridden llamadas  OnStart and OnStop. La función OnStart se ejecuta cuando se inicia el servicio y la función OnStop cuando el servicio es detenido. En nuestro ejemplo lo que haremos sera escribir un archivo tanto cuando se inicia, como cuando se detiene.

ASP.net Framework 4 en IIS 7

Esta semana empece a trabajar en Visual Studio 2010 con el Framework 4, ademas también estoy trabajando con Windows 7 y por tanto con IIS7 (Internet Information Server 7). Realmente me demore en poner a funcionar mi aplicación asp.net pero al final lo logre de la siguiente manera. Habilitar IIS: para ello vamos a Panel de Control->Programas y Características->Activar o Desactivar caracteristicas de Windows. Habilitamos entonces las siguientes caracteristicas Internet information services Luego de que este instalado, ingresamos en el Panel de Control->Herramientas Administrativas->Administrador de Internet Information Services (IIS). Ventana IIS 7 Aparentemente hasta este punnto las aplicaciones asp.net framework 2 deben correr bien, pero para habilitar el framework 4 debemos registrarlos en el IIS 7, para esto vamos a la ventana de comando y colocamos : %SystemRoot%Microsoft.NETFrameworkv4.0.21006aspnet_regiis.exe -i Con esto se instalara el Framework 4 en el IIS 7. Ya podemos crear un nuevo pool de aplicaciones y asignarle la version del Framework 4. Espero que esto les ahorre mucho tiempo, por que la verdad perdi toda una mañana haciendo esto.

AS3: Segundos a Formato Hora

Tratando de crear un video player personalizado em encontre con la necesidad de coger el tiempo que me arroja el streaming que es en segundos y pasarlo a el formato conocido de h:mm:ss. Asi qeu cree esta clase estatica muy sencilla que hace esto de  manera  facil.  Podemos testiar nuestro codigo de la siguiente manera: Obteniendo para este caso “0:03:30″. Nuestro Clase estaria definida de la siguiente forma:

PHP: listar archivos de un directorio

Listar los archivos de un directorio es necesario cuando se desea eliminar una carpeta pues no se puede eliminar carpetas con elementos dentro, de igual forma podriamos crear una siemple galeria en base a todas las imagenes que tenga una carpeta especifica. Es frecuente que podamos encontrar otras carpetas dentro de la misma y en esos casos si estas carpeta contiene informacion se tendria que elimnar primero la informacion dentro de ella antes de poderse borrar la carpeta respectiva. Para poder evaluar este tipo de situaciones podemos utilizar el funcion is_dir . Entonces si queremos mostrar todos los contenido incluidos los de las subcarpetas podemos utilizar algo asi como: Ya para eliminar agregamos la funcion unlink a la estructura deseada.

PHP: Clases abstractas

PHP desde su version 5 a configurado unlenguaje más robusto y tratando de ser un lenguaje Orientado a Objetos como java, c++, c# entre muchos otros. La posibilidad de crear objetos (funcionalidad propia de todo le nguaje OO) ha generado un gran entusiasmo en todo los programadores de PHP. La abstracion de clases es un elemento sumamente importante por que son clases que definen patrones para otras clases que extiendes de estas (guias). Un ejemplo muy interesante e ilustrativo que vemos permanentemente en los libros de programacion es el de los medios de transporte donde la clase abstracta es la de vehiculo y de la cual extienden objetos como carro, moto, bus, bicicleta etc. La clase abstracta se declara de la siguiente forma: Debemos saber que esta clase no se puede instanciar, si lo intentas de arrojara un error. La clase abstracta definira las propiedades y metodos que se necesitaran para implementar las clases derivadas. Para ilustrarlo mejor refiriendonos a la clase vehiculo tenemos lo siguiente: La clase carro que extiende de vehiculo seria: Caracteristicas:
  • Las clases abstractas no se pueden instanciar.
  • Las clases que heredan de esta deben implementar todos los metodos abstractos.
  • Las clases abstractas pueden heredar de otras clases.
  • Los parametros de los metodos deben ser iguales, ya que sino sera tratado como otro metodo.
  • Si una clase tiene un metodo abstracto esta debe declararse también como clase abstracta.