31 ago 2009

// // 3 comentarios

Como permitir leer Archivos Excel 2007 desde Sistemas de 64 bits (x64)

Quizá esto le pueda pasar cuando trabaje ya sea en Windows Vista o en mi caso Windows 7 x64, he intentado leer un archivo Excel 2007 desde una aplicación en .NET y me daba el siguiente error:

El proveedor Microsoft.ACE.OLEDB.12.0 no está registrado en el equipo local. o en ingles

The Microsoft.ACE.OLEDB.12.0 provider is not registered on the local machine.

Pues resulta que esto es debido a que no hay controladores de office para x64, asi que hay que cambiar el tipo de compilación de la aplicación, que por defecto esta en “Any CPU” a “x86”, esto en las propiedades->Build.

Con esto ya se pueden leer los archivos con total normalidad, espero les sirva de algo.

Leer post completo
// // Comentar

Usando Client Application Services Parte 02

En el post anterior hablábamos de como crear una aplicacion que nos permita manejar los accesos de los usuarios ahora veremos como podemos utilizar el servicio de membresia de ASP .NET en una aplicacion Windows Forms que era lo que no se tenia disponible antes.

1. Creando la aplicación Cliente

Vamos a crear una aplicación Windows Forms sencilla como se ve en la imagen:

image

Como esto es solo de forma ilustrativa no necesitamos crear una aplicacion compleja.

2. Enlazando el Servicio

Ahora vamos a integrar el servicio que habiamos creado anteriormente para poder hacer uso de la validacion de usuarios, para ellos nos vamos al proyecto que acabamos de crear y hacemos clic derecho->Propiedades, ahi podemos apreciar al lado izquierdo que tenemos un tab Services, ahi es donde se habilita Client Application Services, marcamos el check e ingresamos los datos como se muestra en la imagen:

image

Tambien debemos agregar una referencia a System.Web, en nuestro proyecto clic derecho->Add Reference en el tab NET buscamos el ensamblado y lo agregamos, esto es para que podamos hacer uso de Clase Membership en nuestra aplicacion.

3. Validando Usuarios

Vamos a trabajar en el evento Load del formulario, dentro de este pondremos el siguiente codigo para validar las credenciales de un usuario si son correctas se mostrara el formulario, caso contrario se mostrara un mensaje y cerrará la aplicacion.

if (!Membership.ValidateUser("User", "Password"))
{
MessageBox.Show("Usuario no valido");
this.Close();
}


Con esto ya podemos validar los datos del usuario, incluso validar si pertene a algun Rol, todo lo que se podia hacer en ASP .NET 2.0 en cuanto a usuarios, ahora ya esta disponible para usar por otro tipo de aplicaciones, no solo esto, sino que tambien permite centralizar la administracion de usuarios.



Espero haya sido de ayuda estos post, si hubiese algo que no quedo claro, no duden en dejar sus  comentarios, tambien adjunto el codigo fuente del ejemplo para que puedan revisarlo.



Descargar Código Ejemplo

Leer post completo
// // Comentar

Usando Client Application Services Parte 01

Introducción

Cuando salió .NET Framework 2.0, una de las novedades que traía consigo era la posibilidad de usar una serie de controles y clases para la gestión de usuarios, perfiles y roles, con las características típicas de una aplicación con manejo de usuarios.

Pues hasta ahí todo bien, pero esto estaba disponible solo para las aplicaciones Web, no se podía usar en aplicaciones Windows, así que en este tipo de aplicaciones teníamos que hacer trabajo extra para la gestión de usuarios.

Ahora con la salida del .NET Framework 3.5, pues se van suavizando las cosas, no es que tengamos los mismos controles disponibles para poder hacer esto, sino que acá podemos centralizar el manejo de usuarios, con lo que se conoce como Client Application Services.

Que es Client Application Services?

Es un concepto que permite integrar las aplicaciones cliente como Windows Forms con los servicios de Membresia de ASP .NET, es decir, tendremos un servicio desde donde se administren los usuarios y desde una aplicación Winforms podemos referenciarlo y ya podemos autenticar usuarios y todo lo que las clases de Membresia nos puedan permitir.

Ejemplo Practico

Para que todo este tema quede claro, aquí les explicare como funciona para que puedan implementarlo.

Si desean conocer como funciona esto del manejo de usuarios y perfiles, los invito a revisar estos artículos que publique hace algunos años:

Personalización ASP .NET Parte 01

Personalización ASP .NET Parte 02

Estos artículos estaban para la versión 2.0 de asp .net, pero también son validos trabajarlo en VS 2008.

Volviendo al tema, vamos a iniciar con la aplicación de ejemplo.

1. Creación de la base de datos

Esta base de datos nos servirá para almacenar los usuarios, esto se hace con un utilitario que viene con el .NET Framework, lo que hay que hacer es ir a Inicio->Todos los Programas->Microsoft Visual Studio 2008->Visual Studio Tools y abrir el Command Prompt, nos abrirá una consola DOS, donde escribiremos asp_regsql, les aparecerá una un wizard que creara la base de datos automáticamente, solo hay que darle siguiente hasta donde nos pida datos del servidor y base de datos, podemos dejar que cree la base de datos con el nombre por default o podemos asignarle cualquier nombre como se muestra en la imagen.

image

Una vez ingresados los datos, damos siguiente y finalizar, con esto ya tenemos nuestra base de datos lista para usarla en nuestra aplicación de ejemplo.

2. Creación del Servicio

Ahora crearemos el servicio que se conectara a la base datos e interactúa con la aplicación para el manejo de usuarios, para esto crearemos un nuevo proyecto del tipo ASP .NET Web Service Application.

image

Con esto se crea una plantilla del servicio, lo cual no usaremos, ya que la aplicación Windows se conectara directamente.

3. Configuración de Roles y Usuarios

Ahora configuraremos nuestros usuarios y roles que tendrán acceso a nuestra aplicación, para esto usaremos el ASP .NET Configuration Tool que pueden ubicarlo en el menú Project->ASP .NET Configuration que se encuentra al final del menú.

Nos abrirá una venta del navegador que nos permitirá configurar todo, esto es bien intuitivo así que lo resumiré, hay que ir a la pestaña de Seguridad y vamos al enlace donde dice Utilice el Asistente para la configuración de seguridad para configurar la seguridad paso a paso. en Método de Acceso seleccionamos desde Internet, Habilitamos las funciones o roles para la aplicación, agregamos 02 roles (Administrador, Cliente), creamos 02 usuarios también, no agregamos ninguna regla de acceso y al finalizar vuelve a la pantalla de seguridad, ahí nos vamos a administrar usuarios->editar funciones y asignamos un usuario al Rol Administrador y el otro al Rol Cliente y cerramos el navegador.

4. Habilitando Client Application Services

Para poder hacer que este servicio pueda dar respuesta a aplicaciones que se comuniquen con el hay que agregar el siguiente código al archivo Web.config

<system.web.extensions>
<scripting>
<webServices>
<authenticationService enabled="true" requireSSL="false" />
<roleService enabled="true"/>
</webServices>
</scripting>
</system.web.extensions>


Nos leemos en la siguiente entrada.

Leer post completo