ASP.NET Espanol Blogs

Browse by Tags

All Tags » Best Practices (RSS)
ADO.NET: tu conexion no se cierra con Close?, el poder de using
Aunque en desarrollo using sólo será una instrucción , cuando hagas deployment verás el poder de using :). Sobre todo cuando empiecen a tener este mensajillo: " Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached. " Como decía en uno los links , este mensaje principalmente se presenta cuando la web esta en producción, más no en desarrollo (ya que al detener la app, o el servidor virtual de asp.net, se reciclan todas las conexiones), pero cuando esta tu server, tendriás que reiniciar el servicio. La causa de este problema (en mi escenario), es por no cerrar correctamente las conexiones y los objetos relacionados...
usando UrlRewriting :D
Hace tiempo que tenía un post en la cola, sobre el uso URL Rewriting en ASP.NET , la mayoría de ejemplos se basan en crear un nuevo HttpModule en ASP.NET, leer este artículo sobre Http Handlers y Http Modules: HTTP Handlers and HTTP Modules in ASP.NET . Como decía, la solución más común es crear un nuevo Http Module, me animé por el http://www.urlrewriting.net/ , ya que sólo adjuntas la dll, que contiene el nuevo HttpModule, lo registras en el web.config, agregas la siguientes configuración: 1: < urlrewritingnet rewriteOnlyVirtualUrls ="true" 2: contextItemsPrefix ="QueryString" 3: defaultPage ="default.aspx" 4: defaultProvider ="RegEx" 5: xmlns ="http://www.urlrewriting.net/schemas/config/2006/07" > 6: < rewrites > 7: < add name...
Validation Application Block en el Enterprise Library 3.1
Estaba revisando la presentación, léase ppt, de las novedades en el Enterprise Library 3.x , y lo que más me llamo la atención, en esta corta revisión, es el Validation Application Block . Puedes usar validaciones de tres formas: Usando atributos, si, puedes agregar los atributos a tus entidades de negocio, por ejemplo si tuvieras la entidad Usuario, y tuviera la propiedad Email, quedaría así: 1: [RegexValidator( @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" , MessageTemplate= "Invalid e-mail address" , 2: Ruleset= "RuleSetA" )] 3: public string Email 4: { 5: get { return email; } 6: set { email = value ; } 7: } También lo podemos configurar, desde Enterprise Library Configuration.* O también hacerlo programáticamente. *Otra novedad interesante...
accesibilidad y shortcuts en ASP.NET 2.0
accesibilidad es todo un tema, voy a dejar abajo varios links como referencia. En este post, lo vamos a ver más orientado al mundo del "business". Una pregunta para iniciar el post: "cuando se van comprar algo, les gusta que la cajera(o) se demore?, personalmente no me gusta esperar mucho por algún servicio, menos hacer cola salvo que sea necesario, prefiero ir tarde a hacer algún trámite porque todos van temprano, en fin, son gustos. Dejando los gustos, cuantos clientes perdemos por se retiran antes de que sean atendidos?, cuanto dinero se pierde?, en Gartner debe haber varias investigaciones sobre esto, pero ahora al post: Un cajero rápido, podrá ser rápido con esta pantalla?: Y no pensar, que pasa si malogra el mouse, y tiene 10 personas...
Demos atrasadas del MS Andean Web Days (sesion ASP.NET AJAX)
Como saben el mes pasado partícipe en el MS Andean Web Days , en la sesión de ASP.NET AJAX Extensions, en la cual básicamente se trato sobre buenas prácticas en el uso de ASP.NET AJAX, además de implementaciones de patrones AJAX ( ajax patterns ) con ASP.NET AJAX . Las demos la pueden descargar de la Zona de Descarga de 3Dev , y también desde los siguientes links: Slides , y Demos . Pasos para restaurar demos: Restaurar la base de datos: dentro de la carpeta CrearBaseDatos se encuentran dos archivos , uno crea todos los objetos de la base de datos Tablas, y Store Procedures, y en el otro archivo esta la data de la base de datos. Abrir la aplicación slnPeruGeeks_Base , dentro de ella se encuentra la solución completa del proyecto. En el caso...
Descarga gratuita de Materiales de Entrenamiento y Presentaciones de .NET, Arquitectura, BI, y otros via 3Dev
Hace tiempo que Guino me comentó que iba actualizar la página de descargas de 3Dev . Ahora que revivió , ha liberado los materiales de entrenamiento y presentaciones del año 2006, en la actual lista podrán encontrar: Curso de Arquitectura .NET y Mejores Practicas - Workshop Curso Patrones de Diseño con ejemplos en C# - Workshop Curso de Business Intelligence con SQL Server 2005 - Workshop Curso Visual Studio Team System - Nivel 200 - One Day Workshop Desarrollando Aplicaciones Windows con Visual Studio 2005 - Hands-On Labs Desarrollando Aplicaciones Web con ASP.NET 2.0 - Hands-On Labs La lista completa la encuentran en la sección de descargas de 3Dev . Veo que faltan algunas presentaciones, así que pronto se estara actualizando. P.D.: Si tiene...
me canse de usar strings en Session, QueryString, Cache, AppSettings, Application, etc
Como saben en todo desarrollo web vamos a hacer uso de variables de tipo Session , Cache , o Application . Si enviamos variables por URL debemos recuperar con Request.QueryString , las variables. Si tenemos variables de aplicación debemos leer el AppSettings del web.config. Hasta aquí no hay problema, por ejemplo, quieremos asignar una variable al objeto Session : Session["CodArea"] = 5; Si vamos a pasar variables por la URL debemos hacer: Response.Redirect("~/mostrarnoticiasportag.aspx?" + "CodArea=" + Session["CodArea"].ToString() + "&TagNombre=" + ddlTags.SelectedValue,true); Y si queremos recuperarlas tenemos que usar: Request.QueryString["TagNombre"], o Request.QueryString["CodArea"] No fuera problema, si sólo tenemos una página con...
Tips para usar el ObjectDataSource como fuente de datos
Como ustedes saben ahora existen diversos controles DataSource para el enlace a datos en una aplicación ASP.NET . Ya hemos hablados de algunos de ellos: ObjectDataSource , y XmlDataSource . Pero en este post vamos hablar un poco más del control ObjectDataSource . Si han estado usando un control GridView enlazado a un control ObjectDataSource , y han implementado el método eliminar en su componente de negocio, se habrán podido dar cuenta que no funciona el comando eliminar del GridView . Depuramos y efectivamente el método si es llamado, pero el parámetro del código del registro que deseamos borrar contiene cero: Ustedes dicen -pero que pasa, vuelven a ejecutar y nada, verifican que el parámetro del comando eliminar del ObjectDataSource sea igual...
URL Rewriting, URL Mapping en ASP.NET 1.X y 2.0
Holas! qué es URL Rewriting?, un ejemplo lo puede dejar más claro: Mis páginas de noticias son así: http://www.misite.com/noticias/mostrarNoticia.aspx?codNOT=15 , ahora yo quiero generar un link así: http://www.misite.com/noticias/show15.aspx . Quedo más claro?, como pueder ver la URL es más simple de recordar, y son un poco más estéticas, sobre todo si hay más de un parametro en URL en la original. Otra de las ventajas es generar un link permanente, imaginen que su carpeta cambio por alguna razón, que pasa con todos los usuarios que agregaron a sus favoritos o algún tipo de bookmark, el link anterior. Y hay algunos otros usos que a ustedes se les pueda ocurrir ... En esta ocasión sólo mostraré los links que encontré, y en un posterior post...
Hard Code Off!
Estaba realizando mis tareas cotidianas frente a la PC, trabajando obviamente, aunque no lo crean xD, y se me presento la siguiente reflexión, la cual quise plasmar en un post, primero les contare el caso: Tengo una entidad Area : Codigo , Nombre , Orden . La cual tienen los siguientes registros: 1, Area1, 1 - 2, Area2, 2 - 3, Area3, 3 y así hasta el Area5 . El campo Orden es como como los registros son mostrados en el Sitio Web. Y se me presenta la necesidad de recuperar código de Area del primer elemento. En mi caso estoy almacenando en una variable codArea, y fácilmente podría decir: codArea = 1; Tu sabes que el registro inicial esta en 1, obviamente porque tu estas desarrollando el proyecto, y como medida de "riesgo", piensas: " creo que...
More Posts