Archive for ASP.NET

Instalar BlogEngine en Domitienda.com

BlogEngine es un blog open source desarrollado integramente en .NET que no tiene nada que envidiar al todopoderoso WordPress.
BlogEngine
 

La gran ventaja de BlogEngine para los que como yo somos desarrolladores de .NET es la gran comunidad que se ha creado alrededor de la aplicación mejorandola día a día, aportando ampliaciones, extensiones, temas, controles, etc…  además de estar incluido en CodePlex que ya de por sí es una garantía de la calidad y el compromiso que este proyecto tiene.

Pero vamos a lo importante, ¿cómo instalar BlogEngine en mi espacio de hosting?

Para empezar necesitamos tener un plan de hosting Windows que tenga soporte mínimo para ASP .NET 3.5 o superior como el plan Básico de Domitienda.com

  1. Descargamos la última versión de BlogEngine desde el repositorio de CodePlex (recomendamos la versión web): http://blogengine.codeplex.com/releases/view/58418
  2. Descomprimimos y subimos por ftp a nuestro espacio de hosting los ficheros extraidos.
  3. Damos permisos de escritura a la carpeta App_Data y al fichero Web.Config (Modificar permisos de carpetas desde Plesk)
  4. Una vez hecho esto el blog ya debería cargar una página similar a la siguiente:
  5. BlogEngine

  6. El siguiente paso es configurar el usuario administrador. Para ello accedemos a la intranet de administración haciendo click en “Log In” (arriba a la derecha) usando el acceso por defecto (usuario: admin. password: admin)  vamos a “Usuarios” para eliminar el existente y crear uno nuevo.

Con esto ya tenemos el blog instalado y protegido y ya solo faltaría configurarlo desde “Configuración” y empezar a postear!

 

Yo ya me he instalado uno e iré probando a ver que tal funciona pero desde luego tiene una pinta increible para los que, como yo, preferimos trabajar con software .NET antes que con software PHP :)

Comentarios

Domitienda.com, soporte de hosting ASP.NET 4.0

Ya tenemos en Domitienda disponible el framework 4.0, a partir del plan básico por sólo 4.95€ al mes.

.NET Framework 4.0

Aunque es complicado, voy a intentar exponeros algunas de las novedades que incluye el framework y que os ayudará a valorar en toda su extensión lo que esta nueva actualización significa. El framework cuenta ya con una larguísima evolución desde que la primera versión RTM fuera publicada en el año 2002. Siempre incidiendo en la transparencia de redes e independencia del hardware ha ido poblando el ecosistema Microsoft e incluso algún otro.

Desde el punto de vista de ASP.NET, se ahonda en la extensión del sistema de caché y compresión del estado guardado en sesión. Se integra mejor que nunca el framework de MVC (soportando hasta la versión MVC3) con su nuevo motor de visualización “Razor“, nuevos métodos “helper”  y controladores asíncronos.

La tecnología webforms no se queda ni mucho menos desplazada, incluyendo mejoras en routing, soporte mejorado para compatibilidad entre navegadores y estándares, nuevos controles (incluido el “Chart control”) y avances en el “Viewstate” (el mecanismo que utiliza el framework para mantener el estado). Imposible dejar fuera las nuevas funcionalidades del Entity Framework 4 que casi con toda seguridad cambiará la manera en la que accedemos a nuestros datos a partir de ahora.

Con respecto a la cara más interna del framework se ha incidido muchísimo en la computación paralela, tanto a nivel de usuario con el nuevo modelo de programación como a nivel interno, para mejorar los tiempos de carga. También se ha actuado sobre el mecanismo de recolección de basura. La lista es bastante larga y si os gusta todo lo relacionado con Windows Internals seguro que os resulta interesante.

Esperamos que esta nueva versión os ayude a darle forma a vuestras aplicaciones.

Comentarios

Windows Update publica solución para la importante vulnerabilidad descubierta en ASP.Net

Ahora que la cosa está un poco más tranquila vamos a aprovechar para repasar lo que ha ocurrido alrededor de la última vulnerabilidad aparecida en ASP.NET. Está entra dentro de las llamadas “zero-day” ya que no existía parche que protegiera de manera integrada contra ella.

Apareció publicada en la Ekoparty Security Conference de Buenos Aires, por Thai Duong y Juliano Rizzo. La técnica tiene aplicaciones maliciosas considerables, como la desencriptación de todos aquellos datos que vienen encriptados al cliente (como el ViewState que viaja en cada postback), robo de la ‘cookie’ de autenticación y descarga de archivos sensibles (todos aquellos que estén blindados a través de la protección integrada que ofrece ASP.NET).

Explicado de manera sencilla, el funcionamiento consiste en enviar texto cifrado al servidor y deducir si el desencriptado fue correcto a través del código de error devuelto. Esta operación repetida de manera sistemática y con un gran número de peticiones permite terminar averiguando las claves implicadas en el proceso. Por desgracia, el tiempo computacional era despreciable y tan solo unos minutos eran suficientes para esto.

Afortunadamente hoy saldrá publicado el parche que se integra de manera automatizada en el ciclo de Windows Update, así que ya sabéis, aunque ya hubierais tomado las medidas paliativas que considerarais oportunas hoy es día de actualizar. Aunque es buen momento para avivar viejos temas de confrontación como el de la seguridad de los productos de Microsoft, en esta ocasión sobre el Internet Information Server y tecnologías asociadas, no hay más que consultar una fuente independiente de incidencias (como Secunia) y comparar estos productos con los de la competencia para darse cuenta de que la discusión está totalmente anticuada.

Algunos vínculos interesantes:

- IIS 6.0 en Secunia: http://secunia.com/advisories/product/1438/
- Apache en Secunia:  http://secunia.com/advisories/product/73/

Comentarios

Hosting compartido rebajado al 50 %

Llegamos del verano con una promoción increible.

Tras las vacaciones, este es un buen momento para retomar los proyectos de su negocio o su página web e iniciar su puesta en marcha.

Por ello regresamos con una promoción muy interesante que incluye todos los hostings compartidos desde el alojamiento más pequeño hasta nuestro potente Multidominio que permite el alojar dominios ilimitados.

Plan
Hosting
Espacio
Disco
Tráfico Buzones Dominios
alojados
Precio
anual €
Ahora
BN00A 100MB 1GB 6 1 35,40 17.70
BN01A 600MB 5GB 10 1 59,40 29.70
BN02 2000MB 15GB 30 3 94,51 59.70
BN03 6000MB 30GB 100 6 219,45 119.70
BN03pro 8000MB 35GB 200 12 285,45 155.70
BN04 12000MB 50GB Ilimitado Ilimitado 450,45 245.70

Un auténtico regalo

  • Para los que tienen
    proyectos en espera este es su momento.
  • A los que que les interesa darse a conocer en internet.
  • A los que vienen con energias renovadas.
  • Para los que desean recibir soporte de tú a tú
    sin esperas.
  • Para los que saben aprovechar las promociones.
  • A los que llevan tiempo deseando crear su negocio online.
  • A los que tengan grandes ideas y deseen ponerlas a prueba.
  • A los que quieran dar un nuevo rumbo a su empresa.
  • Si desea que le asesoremos contacte con nosotros.
    www.domitienda.com Telf.902887879 – 961130476  soporte@businet-isp.com
    Promoción válida del 07/09 al 11/10/2010. Solo para nuevas Altas.No acumulable con otras ofertas.
    En los precios el Iva no está incluido.

    Comentarios

    Datasets ¿Sí o no?

    Los Datasets forman parte de ADO.NET. Una librería de acceso a datos que se usa en el framework. Desde la versión 2.0 del framework tomaron si cabe más protagonismo debido al nuevo enfoque. Se completaron con los TableAdapters, clases concebidas para trabajar en conjunto y que exponen una serie de consultas de casi cualquier tipo que pueden ser diseñadas de manera muy cómoda a través del Visual Studio.

    Los puntos a favor son muchísimos, seguro que muchos fuera de mi conocimiento por falta de uso. Nos limitamos a utilizarlos a través de un Access o SQL Server pero van más allá. Queda ya para la historia su capacidad de integrar mediante un mismo modelo de programación el acceso a tantos orígenes de datos distintos, además de permitirnos trabajar en nuestra aplicación directamente y de manera desconectada con variables debidamente tipadas. Esencial también y punto estrella para mí, el haber ofrecido de manera transparente y casi desconocida para muchos programadores la parametrización de las consultas SQL evitando de esta manera infinidad de errores de Inyección SQL y comodidad extrema a la hora de pasar parámetros a la query (¿acaso alguien recuerda ya pasar una fecha al formato SQL correcto?).

    Hago incapié en la seguridad y en la inyección SQL por la peligrosidad de este tipo de fallos de los que tan solo el programador se puede proteger (no hay política directa de seguridad que tu compañía de hosting te pueda ofrecer). Especialmente peligroso en motores potentes como SQL Server, Oracle, etc. que son capaces de ejecutar varios comandos en una misma sentencia simplemente separando por punto y coma. Un atacante hábil en una consulta mal parametrizada puede manipular la SQL completándola y añadiendo detrás la query más dañina que se le ocurra. No os costará nada encontrar muchísima literatura sobre el tema y algunos casos famosos.

    Por desgracia, todas estas ventajas no son gratis o baratas desde el punto de vista de la eficiencia. Los Datasets son objetos complejos que no solo representan tablas si no que además representan relaciones entre tablas. Esto que no deja de ser ideal en muchos escenarios supone que al realizar operaciones sobre el DataSet es necesario comprobar que las restricciones de integridad referencial se cumplen, con el coste computacional asociado.

    He visto en muchos proyectos además, la manía de arrastrar tantas tablas como se pueda. En muchas ocasiones no hace más que provocar una caida de rendimiento en varios aspectos. En primer lugar en tiempo de ejecución. Un DataSet mal dimensionado es más lento al cargarse y mucho más lento al operar sobre él. Además, en el trabajo del día a día del programador, manejar uno de estos a través del Visual Studio puede ser una odisea.

    Desde un punto de vista transaccional y si no proponemos una estructura mejor cada operación con un TableAdapter inicializa una nueva conexión. Ello nos limita a la hora de utilizar transacciones, ya sea a nivel del motor de base de datos, o a un nivel superior utilizando clases como TransactionScope del framework. Sobra decir que cada vez cuesta más encontrar aplicaciones donde se pueda pasar sin entender una infinidad de operaciones de manera atómica y más en un entorno tan distribuido como el actual.

    Para terminar, desde el punto de vista de la interoperabilidad. Probablemente te interese esta parte si te estás iniciando en WCF o tecnologías similares. El hecho de que un Dataset se serialice automáticamente como XML no quiere decir que todas las aplicaciones sean capaces de interpretarlo. De hecho, será difícil de ver si la aplicación consumidora del servicio no es .NET. El schema del DataSet es complicado de procesar y en la mayoría de los casos tremendamente pesado en comparación con serializar una clase formada por tipos básicos, definidos por el programador o con una serialización personalizada.

    Comentarios

    MSChart Controls instalado en domitienda.com

    Recientemente hemos instalado en los servidores de domitienda las extensiones mschart del Service Pack 1 de ASP .NET 3.5

     

    Estos controles te permiten crear gráficas dinámicamente de una forma sencilla  y que dan un resultado muy vistoso tal y como podeis ver en las imagenes de ejemplo:

    mschart1

     

    mschart2

     

    Entre las distinas opciones de gráfica se incluyen las típicas de barras, rangos, lineas, tartas hasta otras más potentes como de Acumulación, Distribución o Splines en 3D!

    Todas las gráficas son compatibles con AJAX y puedes ser declaradas de forma estática o dinámica enlazandolas con un DataSource.

    Otro punto fuerte de este control es que el restultado que el motor de .Net genera es una imagen png o jpg por lo que el navegador lo reconocerá como una etiqueta < img> cacheandola y haciendo que se cargue mucho más rápido las proximas veces que se refresque la web.

    Si quereis probarlo tan solo teneis que instalaros el Add-on para el Visual Studio 2008, descargaros los ejemplos y la documentación y empezar a programar!

    Comentarios

    Soporte para jQuery proximamente en VS2008

    jQuery es una de las mejores librerias de Javascript que existen. Con tan solo unas pocas lineas de código puedes hacer verdaderas virguerías! 

    Pues bien, hace poco leí una noticia donde anuncianban que una próxima revisión de Visual Studio 2008 vendría con jQuery instalado por defecto, Intellisense, soporte e integración para el Ajax Toolkit y compilación!!

     

     

    Vamos, que ya no tendremos escusa para hacer cosas con Javascript porque “queda feo en el código”.

    El hecho de que Microsoft empiece a dar soporte nativo a librerias externas me llena de alegría ya que hasta ahora solo se limitaban a copiar la funcionalidad de ciertos proyectos Open-Source y cambiarlo de nombre, ¿Qué significa este cambio en la política de Microsoft? ¿Qué será lo próximo que veremos en VS2008?

    ¡Estaremos muy atentos!

    Para todo aquel que no sepa que es jQuery o quiera saber más os recomiendo que visiteis su sitio web que esta lleno de documentación y ejemplos.

    Comentarios

    Actualizando parcialmente nuestras páginas en ASP.Net

    Ya hemos comentado anteriormente cómo publicar nuestras páginas ASP.Net en Domitienda a través del asistente que nos ofrece Visual Studio. Sin embargo, este proceso automatizado nos obliga a subir la web entera en cada ocasión en lugar de poder actualizar tan solo la parte que haya cambiado.

    Antes de realizar este proceso, es necesario averiguar en que modo está compilada ya que existen dos modos en los Web Sites de Visual Studio 2005. Esto lo podemos averiguar en el menú Build > Publicar sitio web. Para poder cumplir nuestro objetivo y actualizar solo la parte que hemos cambiado de la página web deberá estar activada la opción “Utilizar nomenclatura fija y ensamblados de una sola página“. Si no teníamos esta opción activa será necesario volver a subir la web entera una vez mas.

    Una vez realizado esto, procederemos a publicar nuestra web (Build > Publicar sitio web de nuevo) pero especificaremos una carpeta local en lugar de un FTP. De este modo la web entera se generará en la carpeta indicada de nuestro equipo. Hay varios tipos de archivos:

    • Páginas ASPX. Tendremos que subir manualmente a través de un cliente FTP como FileZilla tan solo aquellas que hayamos modificado.
    • Archivos DLL. Se encuentran dentro de la carpeta BIN y veremos que aunque con una nomenclatura algo extraña, tenemos uno por cada página. Subiremos solo aquellos que hayamos modificado. Si tenemos clases, datasets, o cualquier elemento con código externo a las páginas en nuestro proyecto y realizamos alguna modificación en ellos deberemos volver a subir el archivo App_Code.dll
    • Web.config y PreCompiledApp.config: Configuran aspectos de la página y tan solo será necesario volver a subirlos en caso  de realizar algún cambio en ellos.


    Archivos generados en la publicación

    Archivos generados en la publicación



    Recordad que esto funcionará correctamente si tenemos la opción “Utilizar nomenclatura fija y ensamblados de una sola página” activa y evidentemente habiendo subido una primera vez la web entera con este modo activado. De este modo evitamos estar “machacando” la web en cada ocasión, con el consiguiente ahorro de tiempo y disminución de problemas.

    Un saludo a todos!

    Comments (2)

    Propagar Title de la Master a todas las páginas en ASP .Net

    Hoy un pequeño pero útil truco de programación.

    Si usais páginas Master en vuestras aplicaciones web ASP .NET y quereis que todas las páginas tengan el mismo Title y, como yo, estais cansados de tener que escribir en cada pagina el título aqui teneis la solución.

     

    En el código asp de la página Master añadimos al tag "head" el runat="server" para que podamos modificarlo desde el código fuente:

    ASP:
    1.  <head runat="server">

    Y, en el Load de la Página Master sobreescribimos el atributo Title para que se propague en todas las páginas que usen esa Master

    ASP:
    1. protected void Page_Load(object sender, EventArgs e)
    2. {
    3. this.Page.Title = "domiblog. El blog de Domitienda";
    4. }

    ¡Espero que os sea tan útil como a mi!

    Saludos desde el otro lado de la pantalla!

    Comentarios

    Disponible para descargar el Service Pack 1 de Visual Studio 2008 y Framework 3.5

    Nuestro amigo el Guille nos cuenta en su web que ya están listos para su descarga el primer Service Pack para el Framework 3.5 de ASP .NET y Visual Studio 2008.

    En esta dirección puedes ver un listado de los cambios de esta nueva versión. Básicamente se ha agregado compatibilidad con Sql Server 2008, algunos componentes como el Shape y DataRepeater y se han solucionado un porrón de problemas.

    ¡Y Recuerda! En domitienda.com ofrecemos hosting para ASP .NET 3.5 desde 4.95€ al mes

    Comentarios

    « Noticias Anteriores Página siguiente »

    Add to Technorati Favorites