Instalando WSS3 (qué hice mal?)

Además de basarme en el instinto en vez del documento de instalación? pues creo que debo volver a revisarlo pues mientras preparaba una virtual me di cuenta que luego de instalar el WSS3 (sea en modo básico o avanzado) el puerto 80 (si, el mismo que es usado por el Default Web Site) es ocupado por el Default Site Collection del WSS.
Y no, no hay conflicto pues el instalador es muy inteligente yo creo que si lee el manual, pues para evitarse problemas, el Default Web Site (es decir, el que mencioné hace unas líneas) ha sido detenido.

Pues bien, si tenían alguna aplicacion web allí, o los sites del Reporting Services, pues, olvidense! (al menos yo, ya estoy comenzando a olvidar mi empleo)

El problema es muy comun en la web, he encontrado miles de mensajes, aqui un ejemplo y otro.

Por mi parte ya he leido un pequeño manual que viene con la guía de instalación del TFS2008 (no me griten, ese manual es lo maximo!), lamentablemente o de suerte no tengo el instalador del WSS3 a la mano, asi que, dentro de poco les cuento (si es que sigo trabajando)

Saludos[at]Cama
Cross from here

Manejo de Excepciones? (No lo digo yo)

Pues bien, habiendo leido Exception Management Architecture Guide, solo me queda parafrasear lo siguiente (esto, de las páginas 8-9):

«You should only catch exceptions when you need to specifically perform any of the
following actions:

  • Gather information for logging
  • Add any relevant information to the exception
  • Execute cleanup code
  • Attempt to recover

If a particular method does not need to perform any of these actions, it should not
catch the exception…»

Ademas de…

«In other words, you should not use exceptions as a means to provide
your intended functionality.»

y…

«Throwing exceptions is more expensive than simply returning a result to a caller. Therefore they should not be used to control the normal flow of execution through your code. In addition, excessive use of exceptions can create unreadable and unmanageable code.»

En resumidas cuentas es decir, in spanish:
Usar los bloques de administracion de excepciones resultan costosos, ya que no solo incurren en aspectos de performance, el codigo pierde legilibilidad, dificultando su mantenimiento.
Se recomienda el uso de dichos bloques cuando se requiere realizar procesamientos adicicionales (rollbacks, limpieza de memoría, verificacion de estados, notificaciones, etc.)

De momento veo que actué como traductor, pero valió la pena (creo).

Saludos[at]Casa
Cross from here

Manejo de Excepciones, cómo?

Han sido varias las conversaciones/consultas en las que he escuchado preguntas del tipo «como debo manejar la excepción», llegan tambien los ejemplos y contraejemplos y las respectivas dudas…
Pues bien, decidi hacer una pequeña encuesta al respecto o en todo caso una breve recopilación de respuestas luego de preguntar «y tu exactamente como lo haces, como lo harías o que recomendarías», aqui algunas de los datos que pude obtener:
– En la capa de negocios
– En la capa de servicios
– En la cada de datos (no la DAL, me refiero a la que llama a la Data Access Library)
– Parte en los stored procedures parte en la capa de negocios
– No uso (???)
– En todas las capas haciendo un throw exception desde la mas interna hacia arriba.

Luego de haber tomado nota, pregunté el «por qué?» de sus respuestas. Esto no con animo de reclamar nada, solo quería conocer una explicacion un poco mas técnica de la metodología en mención.

La verdad, es que no habia respuesta convincente.
Por lo poco que se o que recien he podido averiguar (gracias San Google!), lanzar excepciones implica costos de performance en la aplicación, es decir, que si lo ponemos en mas de una capa… adivina que? tu código cae en riesgo de ser mas lento(asi que, no abusen!).

Por mi parte seguiré colectando información.
De momento dos enlaces muy buenos (al menos para mi)

Good Exception Management Rules of Thumb
Best Practices of Exception Management

Un documento que muchos deberianmos leer… Exception Management Architecture Guide

Me parece o escuché Exception Management Application Block?

Saludos[at]Lima
Cross from here