Posteado por: toniogago | 15 diciembre 2009

Realizar un proceso batch con asp.net

En algunas aplicaciones web necesitamos realizar procesos que pueden durar bastante tiempo y la página nos devuelve un error de TimeOut. Estos procesos se suelen denominar batch o por lotes.

Pongamos un ejemplo

Protected Sub CmdIniciar_Click(ByVal Sender As Object, ByVal e as System.EventArgs) Handles CmdIniciar.Click
    'Espera 91 segundos. Por defecto ASP.NET el TimeOut son 90 S.
    Thread.Sleep(91000)
    'Para utilizar Thread debe estar importado System.Threading
End Sub

Leer Más…

Posteado por: toniogago | 10 diciembre 2009

Leer cadenas de conexión de web.config

Web.config
En el archivo de configuración de un sitio web (web.config) están las cadenas de conexión que se pudieron haber guardado al realizar la configuración de un control SQLDataSource.

Leer Más…

Posteado por: toniogago | 2 diciembre 2009

Saber que datos se pasan entre paginas (trace)

A veces necesitamos saber qué controles pasamos entre páginas mediante formularios (Form) o cadenas de consulta (QueryString). En la página que recibe los datos tenemos que recorrer la clase Request.Form o Request.QueryString para recoger los datos.

Una forma sencilla de saber qué controles estamos pasando entre páginas y sus valores correspondientes es utilizar trace.

Leer Más…

Posteado por: toniogago | 24 noviembre 2009

Obtener BaseDN de Active Directory

Para implementar la seguridad con LDAP en algunas aplicaciones es necesario saber la cadena BASE DN para conectarse al servidor que tenga Active Directory. La cadena tiene que hacer referencia a la unidad organizativa Users. Yo lo he necesitado para un Business Ingeligence de Oracle (Oracle BIEE).

Aquí os explico cómo conseguir esa cadena.

Leer Más…

Posteado por: toniogago | 18 noviembre 2009

Request.Form con páginas maestras (master pages)

Con las Master Pages, los controles de los formularios que se utilizan para enviar datos entre páginas cambian de ID. Según el número de páginas anidadas puede variar y no siempre es el mismo texto el que se le añade. Normalmente es Ctl00$ContentPlaceHolderID$ por cada página maestra.

En vez de utilizar Request.form(“ID”) tendremos que utilizar alguna forma para reconocer el control que queremos utilizar. Sabiendo que ASP.NET utiliza el simbolo del dólar para generar el ID del control, crearemos un bucle para ir recorriendo la clase Request.form y preguntar por la clave del control.

Leer Más…

Posteado por: toniogago | 16 noviembre 2009

Adjuntar archivo en eMail con ASP.NET

En un post anterior expliqué cómo enviar un correo con WebDav y Exchange Server (ver) y en otro expliqué cómo renderizar directamente el contendio de un informe en PDF (ver).
Ahora voy a explicar cómo aduntar ese PDF al correo electrónico.

Cuando empecé a buscar información sobre cómo adjuntar un archivo a un correo electrónico encontré enseguida la solución y es muy simple. Básicamente se trata de separar el correo en partes delimitadas por una frontera (boundary) y especificar que el contenido está compuesto por partes (multipart).
Leer Más…

Posteado por: toniogago | 13 noviembre 2009

Enviar email con WebDav y Exchange Server

Introducción
Recientemente he necesitado implementar en una página ASP (no ASP.NET) el envío de correos electrónicos para una distribución de documentación de las normas ISO. Lo empecé a hacer en una DLL con Visual Basic. Para ello utilicé WebDav contra un Exchange Server 2003. Al hacer las pruebas con el Visual Studio no hubo problemas. Éstos me vinieron cuando quise ponerlo en producción. Al estar en un entorno inpersonate, el envío del correo me fallaba.

Como el servidor está sobre un IIS, me creé un directorio virtual con ASP NET 2. En este directorio puedo alojar páginas aspx y programar asp.net

Cómo lo hago
Primero nos creamos una página aspx. No hace falta que introduzcamos ningún control, a menos que queramos ir informando al usuario de los pasos que vamos dando mediante programación.

El código lo vamos a introducir en este caso en el evento Page_Load. En este ejemplo primero se va a crear el mensaje en la carpeta Borradores y luego se envía.

Leer Más…

Posteado por: toniogago | 11 noviembre 2009

Renderizar el contenido del control ReportViewer directamente a PDF

Con este ejemplo, conseguiremos crear una página en ASP.NET con la que nos devolverá un informe de Reporting Services ya convertido en formato PDF. Dependiendo de como el usuario que accede a la página tenga configurado el Explorador de Internet, éste le abrirá el documento PDF o le pedirá guardarlo.

Vamos a ello.
Creamos una nueva página e introducimos en ella un control ReportViewer y le configuramos lo siguiente:
Leer Más…

Posteado por: toniogago | 5 octubre 2009

Hello world!

Hola,

este es mi primer post en el blog. Intentaré tenerlo actualizado.

un saludo a todos.

« Newer Posts

Categorías