Entradas

Registrar ficheros html para protegerlos por el sistema de autenticación

En un proyecto en el que nuestra aplicación asp.net debía servir ficheros html, pero debíamos controlar la seguridad de dichos ficheros, vimos que el módulo de seguridad de asp.net ignoraba dichos ficheros. Después de navegar un buen rato, vimos en este post http://forums.asp.net/p/1184547/2019507.aspx#2019507 que la solución es bastante sencilla. Basta con hacer que las extensiones html y htm sean tratadas por asp.net, es decir: En la configuración del site, copiar la ruta de aspnet_isapi.dll y agregar las nuevas extensiones y asignarles dicha dll También hemos visto que, dependiendo de la edición de IIS hace falta o no agregar las siguientes entradas en el web.config        <httpHandlers>         <add verb="GET, HEAD, POST, DEBUG" path="*.htm" type="System.Web.UI.PageHandlerFactory"/>         <add verb="GET, H...

Display enums members

Interesting article for get descriptions at runtime for enum members using AOP. It's WPF oriented, but can be used for any other presentation technology.

xsl-fo para crear PDFs (u otros formatos de documento)

Recientemente he trabajado con algunos proyectos que tenían como requirimiento generar exportación a PDF de ciertos datos. Aunque ha varias buenas librerías de pago, si el proyecto no se lo puede permitir, hay pocas opciones libres que sean de cierta calidad y que tengan soporte por la comunidad. Se pueden destacar algunas de estas: http://www.pdfsharp.net/wiki/MainPage.ashx http://www.codeproject.com/KB/graphics/giospdfnetlibrary.aspx http://report.sourceforge.net/ Navegando durante un rato me encontré con este artículo y con este otro . Tirando del hilo y reordenando ideas he llegado a la conclusión de que XSL-FO es el mejor método (que no el más fácil) para crear exportaciones a PDF (y a otros formatos), sobre todo desde datos xml o directamente desde base de datos. Para empezar necesitaremos algunos tutoriales: w3schools , como siempre, son un buen punto de partida. otro tutorial a base de ejemplos . o libros xsl-fo . Dave Pawson también tiene un tutorial aquí .. def...

Renombrar multiples ficheros con PowerShell

Podemos reemplazar recursivamente el nombre de los ficheros que cumplan determinado criterio. Pero lo más potente es la parte que va entre paréntesis, ya que admite expresiones regulares y solo se reemplazarán aquellos nombres que complan el primer parámetro del operador -replace: PS c:\> dir -recurse -filter *.es-ES.resx | Rename-Item -NewName {$_.Name -replace 'es-ES', 'en-US'}

Cómo forzar la configuración correcta de ASP.NET en un servidor

Interesante artículo de cómo asegurarse que el modo debug y los mensajes de error están controlados en un servidor de producción. http://geeks.ms/blogs/jalarcon/archive/2010/07/03/c-243-mo-forzar-la-configuraci-243-n-correcta-de-asp-net-en-un-servidor.aspx

Sesión de Debug con ASP.NET e IE8

Si estás vas a debugear una aplicación de asp.net y estableces un breakpoint, puede sorprenderte que no se pare cuando la ejecución pase por ese punto. Esto sucede cuando el explorador predeterminado es IE8 y ya tienes una sesión abierta antes de lanzar la depuración. Si cuando empiezas a depurar no tienes Internet Explorer, podrás debugear sin problemas. La solución: Abrir RegEdit Ir a HKEY_LOCALMACHINE -> SOFTWARE -> Microsoft -> Internet Explorer -> Main Agregar una nueva entrada "DWord" llamada "TabProcGrowth" Establecer TabProcGrowth = 0 Las implicaciones que tiene este cambio se pueden ver aquí, en el punto 4 . Básicamente estamos cambiando el modo en que se gestionan los subprocesos para cada tab del navegador. Poniendo TabProcGrowth = 0 hacemos que se comporte como IE7. saludos

DefaultLocation en un proyecto de Setup de Visual Studio

Si has tenido que montar un programa de instalación teniendo en cuenta las restricciones de seguridad cuando un usuario no es administrador del equipo, seguro que habrás tenido más de un quebradero de cabeza. En este post quiero listar algo que está muy mal documentado (¿está documentado?): los nombres de las carpetas especiales que se pueden usar en la propiedad DefaultLocation de la carpeta de instalación. Cuando creamos un proyecto de Setup, por defecto la ubicación de la instalación es: [ProgramFilesFolder]: Archivos de programa Pero nos pueden interesar otras ubicaciones como: [CommonAppDataFolder] documents and settings\All Users\Datos de programa [AppDataFolder] documents and settings\%username%\Datos de programa