JASoft.org

El blog de José Manuel Alarcón Aguín. Programación web y mucho más...

MENÚ - JASoft: JM Alarcón

Cómo declarar qué permisos necesita mi ensamblado

Si desarrollamos una aplicación que deberá tener acceso a ciertos recursos del sistema restingidos normalmente por motivos de seguridad (por ejemplo acceso al sistema de archivos) es posible que en determinados casos falle por carecer de dichos permisos. Esta carencia de permisos puede deberse a configuración del sistema (por ejemplo permisos NTFS) o bien por la cofiguración de permisos de la propia plataforma .NET (por ejemplo un ensamblado que se ejecute desde Internet o desde la Intranet). ¿No sería interesante en estos casos hacer que la aplicación, directamente, ni siquiera se ejecutase si no tiene los permisos suficientes? Se puede conseguir este efecto declarando directamente en el ensamblado qué permisos son necesarios. Incluso más interesante aún: se pueden restringir más todavía los permisos de nuestro programa respecto a los que le otorga el propio entorno (.NET o el sistema operativo) evitando así un uso indebido de nuestras aplicaciones. Para conseguirlo lo que se hace... [Más]

Nueva revista On-Line: Netveloper.com

Desde el mes pasado ya está en funcionamiento la nueva revista Netveloper.com de la cual soy colaborador habitual. Se trata de una publicación dirigida específicamente a programadores de la plataforma .NET que tratará de traer periódicamente consejos, artículos y técnicas de programación a sus visitantes. Se divide en los siguientes apartados ASP.NET, ADO.NET, C#, VB.NET, SQL Server y Varios (en este último tienen cabida todo tipo de cosas). El último mes he publicado en ella media docena de consejos y artículos cortos inspirados en cuestiones que se han publicado en este Blog. Te la recomiendo.

Disponible para descarga gratuita el número 8 de DotnetMania

El número 8 de la revista DotNetMania está puesto a disposición pública para que el que lo desee lo pueda descargar en PDF y leerlo de manera gratuita. Puedes consultar sus contenidos en http://www.dotnetmania.com/Articulos/008/index.html, y descargarlo usando el enlace que aparece en el lateral de la página o desde la sección "Números publicados". ¡Qué te aproveche!

Corregir error en herramienta de configuración de políticas de .NET

En mi anterior "post" comentaba la forma de conseguir que los proyectos de Visual Studio ubicados en un recurso compartido funcionasen con las mismas capacidades que los locales, lo cual pasaba por modificar la configuración de seguridad de la plataforma. Alguna gente que ha intentado seguir el método me ha comentado que tenían un problema gordo, y es que cuando intentaban enumerar las políticas existentes en su equipo (o en cualquier otra rama), se le mostraba un error en el árbol como el que se puede observar en la siguiente figura: (Pulsa para agrandar) Algunas versiones no inglesas de la herramienta de configuración de .NET tienen un problema con los recursos localizados y producen este indeseable efecto. El problema se produce debido a problemas de seguridad cargando los recursos localizados y muestra en su lugar un mensaje de error en inglés. Para solucionarlo sólo hay que resetear la cofiguración de las políticas de acceso a código y todo volverá a la normalidad. Basta con a... [Más]

Editar código en recursos compartidos

Es muy frecuente en empresas que los archivos de trabajo residan en un servidor, de forma que se mantengan centralizados (para copias de seguridad, versionamiento, etc...) y varias personas puedan trabajar al mismo tiempo sobre ellos. En el caso de los programadores de Visual Studio esto puede suponer un problema. Dicho problema viene dado porque, si ejecutamos Visual Studio con código que reside en un recurso compartido de la red (aunque sea una unidad "mapeada"), obtendremos advertencias a la hora de ejecutarlo e incluso errores en función del código que hayamos escrito, sobre todo en modo de depuración. Este problema se produce aunque tengamos control total para gestionar los archivos del recurso compartido. Este comportamiento se debe a la configuración de seguridad por defecto de .NET, que trata de manera diferente al código según sea su procedencia. En el caso de código o programas ubicados en nuestra red local se usan los criterios de seguridad de "LocalIntranet", mientras qu... [Más]

Cómo sobrecargar métodos en servicios Web

Imaginemos que tenemos que crear un servicio Web para una tarea determinada (para simplificar, digamos, realziar una suma), y dicha tarea debe trabajar con diferentes tipos de datos. En una clase .NET podemos crear versiones sobrecargadas de un método cada una de las cuales tomará el tipo de datos pertinente, siendo el propio compilador el que llamará a la versión sobrecargada que convenga encada caso. En el caso de un servicio Web a priori puede parecer que no seremos capaces de obtener el mismo efecto, ya que no podemos exponer dos métodos Web con el mismo nombre. Sin embargo existe un atributo llamado MessageName que permite conseguir un efecto similar. MessageName se utiliza para asignar alias a los métodos Web que definamos, de forma que podemos identificar de manera única a cada uno de ellos, incluso aunque el nombre asignado a la función sea el mismo. De este modo, si queremos exponer como servicio Web una clase que posee un método con varias sobrecargas sólo tenemos que emp... [Más]

El "Google" de los programadores

Hoy estaba echando un vistazo al Blog de un lector boliviano de mi Blog y tenía este estupendo recurso en uno de los "post": www.koders.com Se trata de un buscador de código fuente. Lo que hace es buscar los términos que le pongamos en la búsqueda dentro del código fuente de miles de archivos Open Source que hay por el mundo adelante. Es especialmente útil para encontrar ejemplos de uso de APIs, módulos que se ocupen de determinadas tareas, etc... Hay que echarle imaginación a la hora de buscar para encontrar lo que necesitamos ya que busca exclusivamente dentro del código y hay que "cambiar el chip" respecto a una búsqueda normal como la que haríamos en Google (por palabras). Os lo recomiendo (y también el Blog en el que lo encontré).

Cómo redirigir correctamente a los clientes móviles en ASP.NET

Cuando creamos una vesión móvil de una aplicación Web suele veir bien dar acceso a ésta desde la misma URL tanto a los clientes Web "normales" como a los usuarios que accedan desde el móvil. Hay quien directamente construye dos URLs diferentes, en plan, www.miapp.com y movil.miapp.com, pero es un poco excesivo ¿verdad? La mejor manera de hacerlo es meter cada aplicación en su propia carpeta e incluir un código similar a esto en la página por defecto del dominio por el que se accede a ambas aplicaciones: <script runat="server" language="c#">    public void Page_Load(Object sender, EventArgs e)     {        if (Request.Browser["IsMobileDevice"] == "true" )         {            Response.Redirect("AppMovil/");        }        else         {            Response.Redirect("AppWeb/");        }    }</script> Pero OJO, esto no es todo aunque pueda parecerlo. Si lo dejamos así simplemente veremos que funcionará en muchos casos pero en muchos otros no será así. Esto se debe a que... [Más]