viernes, 12 de noviembre de 2010

Desarrollador 5 Estrellas - 4ta Estrella Cardspace

Hola amigo, para aquellos que están dando las pruebas de la certificación desarrollador 5 estrellas, y van por la 4ta en este momento, aqui les dejo el link de la prueba correspondiente a Cardspace, yo me base en esta y obtuve el 80%. http://ring0a.blogspot.com/2010/09/desarrollador-cinco-estrellas-4-1.html, en un proximo post les publicaré las respuestas.


Espero les sirva
Saludos.

miércoles, 10 de noviembre de 2010

Balsamiq Mockups:Creación de bosquejos sobre interfaces gráficas

Hola amigos, saben que hace unos meses atras necesitaba un software que me permitiera realizar bosquejos sobre interfaces gráficas de paginas web o de aplicaciones de escritorio que en mi trabajo me toca desarrollar.
Y por ahi encontré esta herramienta llamada Balsamiq Mockups
Bueno para poder instalar el programa (que es muy liviano) tenés que instalar el programa de Adobe Air. Está todo comprimido en el archivo Megaupload. Obviamente no es gratuito pero después de tanto buscar consegui el serial para que todos los T! lo puedan utilizar ilimitadamente...

http://www.megaupload.com/?d=142MQMNA

Organization name: leexij@gmail.com
Serial Key: eNrzzU/OLi0odswsqslJTa3IzHJIz03MzNFLzs+tMTQyNrcwsTQyAIEa5xpDAIFxDy8=


viernes, 5 de noviembre de 2010

BEGIN TRAN, COMMIT, ROLLBACK & GOTO

En muchas ocaciones tenemos que llevar un control sobre las transacciones que se realizan en la base de datos. Y TRAN nos permite poder ejecutar nuestras instrucciones SQL como una unica instrucción, donde todas fracasan o todas tienen exito y se completan.

Si alguna de las operaciones de una transacción falla hay que deshacer la transacción en su totalidad para volver al estado inicial en el que estaba la base de datos antes de empezar. Esto se consigue con la sentencia ‘ROLLBACK TRAN’.

Si todas las operaciones de una transacción se completan con éxito hay que marcar el fin de una transacción para que la base de datos vuelva a estar en un estado consistente con la sentencia ‘COMMIT TRAN’.

Otra sentencia muy útil es GOTO, el cual nos permite ejecutar un camino alternativo de existir un error o una condición no cumplida, en SQL Server 2005 existe una nueva funcion de TRY y CATCH (el cual trataremos en otro Post).

Bueno aqui les muestro un ejemplo de como utilizarla en SQL Server (en mi caso SQL Server 2000).

ALTER PROCEDURE [DBO].[SP_Biotoscana_PreAviso]
@ACCION INT = 0,
@ERRORID INT OUTPUT,
@MSGReturn INT OUTPUT,
---------------------------------------------------------
@IDLINEA CHAR(5) = '1',
@IDPROD CHAR(30) ='',
@DESTINO CHAR(10) = '',
@LOTE CHAR(25) = '',
@FECVENC SMALLDATETIME = NULL,
@NUMOC CHAR(10) = '',
@NUMIMP CHAR(10) = '',
@PAIS CHAR(3) = '',
@CANTIDAD FLOAT = 0,
@UNIDAD CHAR(10) = '',
@PRECUNIT FLOAT = 0,
@MONEDA CHAR(4) = '',
---------------------------------------------------------
@NUMREF CHAR(15) = '',
@TIPOCOMPRA VARCHAR(15) = '',
@RUTPROV VARCHAR(100) = ''
AS
BEGIN
DECLARE @CORR CHAR(10)
SET @CORR = ''

IF @ACCION = 1
BEGIN
BEGIN TRAN

SET @CORR = (SELECT Lastbatnbr7+1 from SETUPWEB)
SET @MSGReturn = CAST((SELECT Lastbatnbr7+1 from SETUPWEB) AS INT)

update SETUPWEB set Lastbatnbr7= @CORR

INSERT INTO PRE_WEBHEADER (
CodLab,Corr, Crtd_DateTime, Crtd_Prog, Crtd_User,
Lupd_DateTime,Lupd_Prog,Lupd_User,NoteId,
RefLab,Status,TranType,VendId
) VALUES (
'49', @CORR,GETDATE(),'INTZ', 'NFS',
GETDATE(),'INTZ', 'NFS', 0,
@NUMREF, 'H',@TIPOCOMPRA,@RUTPROV
)

INSERT INTO PRE_WEBLINE
(
Corr,Crtd_DateTime,Crtd_Prog, Crtd_User,
CuryId,ExpDate,InvtId, LineRef,
LotSerNbr, Lupd_DateTime, Lupd_Prog,Lupd_User,
OrdNbr,OpenLine,Pais,QtyOrig,RefNbr,SiteId,
ShipperId,Status_Muestreo,TranDate,Unid,UnitPrice, QtyRcvd
)
VALUES
(
@CORR, GETDATE(), 'INTZ', 'NFS',
@MONEDA,@FECVENC,@IDPROD,@IDLINEA,
@LOTE,GETDATE(), 'INTZ', 'NFS',
@NUMOC, 'A', @PAIS,@CANTIDAD,@NUMREF, @DESTINO,
@NUMIMP,0, GETDATE(), @UNIDAD,@PRECUNIT, 0
)

SELECT @ERRORID = @@ERROR
IF (@ERRORID <> 0) GOTO PROBLEM
COMMIT TRAN

PROBLEM:
IF (@ERRORID <> 0) BEGIN
ROLLBACK TRAN
END
END
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

Espero que sea de ayuda. Saludos.

jueves, 4 de noviembre de 2010

Enviar Email con C# (C Sharp)

Hola amigos! Aqui publico el código que utilizé hace unos días para poder enviar e-mail desde mi aplicacion en C#.

Lo primero, tenemo

s que hacer la llamada a la librería:



using System.Net.Mail;

Una vez hecho esto, nos creamos el objeto que enviara el mail:


MailMessage objMail;

Ahora empezamos a rellenar los datos necesarios. Vamos a incorporar un destinatario del correo, la dirección desde la que se envía, un email en copia, otro en copia oculta y un fichero adjunto:


//'Creamos el objeto del correo
objMail = new MailMessage();
objMail.From = new MailAddress("direccion@origen.com");
//Remitente

objMail.To.Add("direccion@destino.com");
//Email a enviar
objMail.CC.Add("copia@destino.com");
//Email a enviar copia
objMail.Bcc.Add("oculto@destino.com");
//Email a enviar oculto

Indicamos un asunto:


objMail.Subject = "Asunto";

Y añadimos el contenido:


objMail.Body = "contenido";

Aquí podemos indicar si debe mantener un formato de HTML o no:


objMail.IsBodyHtml = true; //Formato Html del email

Le añadimos un adjunto


objMail.Attachments.Add(new Attachment(Adjunto));

OJO: tiene que ser la ruta absoluta del fichero, no la relativa.

Ahora que tenemos el contenido del mensaje, establecemos los datos del servidor de correo:


SmtpClient SmtpMail = new SmtpClient();
SmtpMail.Host = Servidor;
//el nombre del servidor de correo
SmtpMail.Port = Puerto;
//asignamos el numero de puerto

Añadimos las credenciales si hace falta:


SmtpMail.Credentials = 
new
System.Net.NetworkCredential(Usuario, Clave);

Y ya solo nos queda enviar el e-mail:


SmtpMail.Send(objMail); //Enviamos el correo

Y con eso estamos listos!!! espero les sirva.

Saludos.

Leer XML con Linq y C#

Ayer me encontre con la situación de leer la siguiente estructura de xml enviado por uno de nuestros clientes. Este XML debe ser cargado en nuestra Base de Datos SQL Server. Me topé con el problema de como recorrer el detalle de los artículos ya que cada artículo puede estar compuesto de uno a varios lotes. (ver figura).


Y encontre la solución con este fragmento de código:

Formatear Números en SQL Server

Una duda que suele tener la gente es como formatear los datos numéricos en SQL Server. A veces tenemos la necesidad de formatear números completando con ceros hasta un número determinado de posiciones. El siguiente script nos muestra la forma más eficiente de conseguir este resultado:

y el resultado de la operacion será: 0000002002

viernes, 20 de agosto de 2010

Instalar PHP con IIS

Ayer encontré este post buenísimo en http://www.desarrolloweb.com/ y quise agregarlo a mi colección y aqui les dejo su contenido.

Descargar archivos de http://www.php.net/downloads.php#v5
Se recomienda bajar los archivos PHP 5.2.1 zip package y las extensiones adicionales PECL PECL 5.2.1 Win32 binaries
1. Crear directorio en C:PHP y extraer los archivos de ph 5.21zip package y extraer los archivos de PECL 5.2.1 WIN32 binaries en el directorio C:PHPEXT.
2. Renombrar el archivio php.ini-recommended como php.ini
3. Modificar archivo php.ini en las siguientes variables short_open_tag = On extension_dir = "c:phpext" cgi.force_redirect = 0
4. Copiar php.ini a c:windows o c:winnt
5. Registrar la DLL regsvr32 php5activescript.dll
6. Agregar ruta de del directorio php y las extenciones en la opcion de Environment Variable de windows2003

7. Configuración en IIS



8. Configurando extensiones en IIS








9. Probando PHP
Crear archivo index.php en C:Inetpub\wwwroot
Copiar el codigo siguiente en el archivo


2. Abrir IE6 y poner la dirección http://localhost/index.php, si le da error verificar los pasos de la instalación.
Si no da error saldra una pantalla con información sobre la versión de php.

lunes, 16 de agosto de 2010

INSTALACIÓN ASP.NET 2.0 AJAX Extensions

Instalando el paquete de ASP.Net 2.0 AJAX Extensions, paso a paso:

Si piensas implementar y trabajar con AJAX en tus proyectos de ASP.NET, primero debemos antes de agregar el AJAXTOOLKIT a nuestro Visual Studio 2005 o 2008, Descargar el fichero de instalación ASPAJAXExtSetup.msi desde la siguiente ubicación
Microsoft ASP .Net 2.0 AJAX Extensions 1.0.
Ejecutamos el archivo descargado (ASPAJAXExtSetup.msi).
Nos aparecerá la siguiente ventana:



Y seguimos las indicaciones de la instalación.

Y con esto estaremos listos para agregar posteriormente la librería de AJAXTOOLKIT.

Saludos

viernes, 13 de agosto de 2010

Visua Studio Express 2008 y 2010

Si necesitas realizar algunos proyectos con las funcionabilidades básicas de visual studio .NET ya sea 2008 o 2010 aqui les dejo el link para puedan descargarlo:
pincha aqui

miércoles, 11 de agosto de 2010

Escribir Archivo XML desde ASP.NET

Amigos, el día de ayer me toco la tarea de escribir un archivo XML desde mi pagina asp.net, el objetivo era generar un archivo *.xml como un log de errores. y para ello generé las siguientes clases:


1. Generé una clase llamada CLS_Logger e incluí los siguientes import
Imports System
Imports System.Data
Imports System.Diagnostics
Imports System.IO
Imports System.Xml
Imports System.Xml.XPath
Imports System.Xml.Serialization
Imports System.Data.SqlClient
Imports System.Exception
Imports System.Data.Sql
Imports System.Text
Imports System.Collections.Generic
Imports System.Configuration.ConfigurationManager
Imports System.Web
Imports System.Web.UI.Page





2. En el codebehind de mi pagina lo implemente así, agregando a la vez la referencia de la clase anterior:


tiene que ajustar este codigo de acuerdo a tu necesidad, pero tienes aqui la idea básica de como funciona.


Espero les siva. Saludos.

martes, 10 de agosto de 2010

SQL Server 2005 Problemas de Conexión Remota

Después de instalar SQL Server 2005 EXPRESS y querer atacar con mi aplicación al servidor de SQL Server 2005 EXPRESS me daba error de conexión o acceso denegado al servidor.

Investigando he encontrado que el problema es de configuración del servidor, ya que por defecto no admite conexiones TCP/IP para conexiones remotas.
Para habilitar las conexiones remotas: Inicio, Todos los programas, Microsoft SQL Server 2005, Configuration Tools, SQL Server Configuration Manager.
De la lista de SQL Server Configuration Manager seleccionar SQL Server 2005 Network Configuration. Aparecerá Protocols for SQLEXPRESS (SQLEXPRESS porqué es la version que hemos instalado).En la derecha aparecen los protocolos para SQLEXPRESS:

Seleccionar el protocolo TCP/IP y darle doble clic. Hay que ponerlo Enabled = Yes.
Pulsamos en aplicar, y aparece el mensaje que es necesario reiniciar el servicio para que tenga efecto las modificaciones del protocolo TCP/IP.
Aceptamos y reiniciamos el servicio SQL SERVER EXPRESS
Si sigues con problemas de conectividad, intenta arrancar el servicio "SQL Server Browser" en servicios del servidor.

jueves, 5 de agosto de 2010

Leer cadena de conexión del WebConfig desde Una Clase

Con este truco informático podremos leer la cadena de conexión del Web Config en ASP.NET 2.0. Primero crearemos la cadena de conexión en el web config:

<;connectionstrings>;
<;remove name="LocalSqlServer">;
<;add name="LocalSqlServer" connectionString="DataSource=myDBServer;database=myDB;Integrated Security=True;" providerName="System.Data.SqlClient"/>;
<;/connectionStrings>;

Ahora ya tenemos la cadena de conexión creada en el Web Config. Podemos leerla así de fácil:

En C#:

string strConnString = ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString;

En VB.NET:

Dim strConnString As String = ConfigurationManager.ConnectionStrings("LocalSqlServer").ConnectionString

Response.Redirect desde una Clase "*.cs"

Hoy día, necesité hacer un response.redirect("xxxxxx.aspx"); desde una clase de mi proyecto ASP.NET.

Mi clase se ubica en la capa de Negocio del proyecto, ahora, para poder realizar este proceso se tiene que agregar la referencia System.Web y System.Configuration en la capa.



Luego de esto: cuando requieras hacer el response debes de colocar la siguiente línea:


System.Web.HttpContext.Current.Response.Redirect("ErrorUsuario.aspx");

y listo

Convertidor de Codigo .NET

Navengado encontré esta interesante herramientas para todo aquel que le apasione el desarrollo de aplicaciones, o necesite simplemente migrar un fragmento de código de un lenguaje a otro.


Propiedades en C#

Amigos, aqui les dejo la estructura de como declarar propiedades en C #

public clase SomeClass {
SomeClass someclass = new SomeClass();

public static uint Somenum
{

set { m_somenum = value; }

get { return m_somenum; }

}
}

Cosas básicas pero muy utiles. Espero les sirva

miércoles, 4 de agosto de 2010

ASP.NET AJAX en .NET 3.5 y VS 2008

ASP.NET AJAX incluído en .NET 3.5
ASP.NET AJAX 1.0 se publicó como una descarga aparte que se instalaba encima de ASP.NET 2.0. Con .NET Framework 3.5, todas estas características vienen incluídas en ASP.NET, con lo que no tendremos que descargar ni instalar para construir o desplegar aplicaciones.
Cuando creamos nuevas aplicaciones ASP.NET o sitios web con VS 2008 con el framework .NET 3.5, VS añadirá las líneas necesarias para AJAX en el web.config y añadirá los controles de servidor de ASP.NET AJAX en nuestra barra de herramientas.



La versión de ASP.NET AJAX que viene con .NET 3.5 tiene unas cuantas mejoras – entro otras el soporte para usar UpdatePanels en WebParts, soporte para WCF basado en end-points JSON, soporte para usar ASP.NET Profile, Role y Login Application Services con JavaScript, y se han corregido algunos bugs y se ha mejorado el rendimiento.

Entendiendo el versionado de ASP.NET AJAX
ASP.NET AJAX 1.0 y .NET 3.5 pueden estar instalado en la misma máquina. ASP.NET AJAX 1.0 está implementado en la V1.0 del ensamblado System.Web.Extensions.dll. La versión V3.5 de System.Web.Extensions.dll es totalmente compatible con la implementación 1.0 (con lo que no tenemos que cambiar ningún código para usarlo).
Cada aplicación ASP.NET en una máquina puede elegir qué versión de ASP.NET AJAX se usara para construir y ejectuarse. Esto se configura en la sección del web.config, así como con el assembly con el que se haya compilado (en proyectos de tipo sitios web estas referencias se registran en la sección del web.config, en proyecto del tipo aplicaicon web está referenciada en el archivo de proyecto).
Podemos usar VS 2008 para aplicaciones de ASP.NET AJAX 3.5, y usar el soporte multitargeting para construir aplicaciones web ASP.NET 2.0 que usen ASP.NET AJAX 1.0. Veremos cómo hacer esto en las siguientes secciones.

Información importante sobre la Beta 2
Hace unos días publicamos la Beta 2 en la web, descubrimos un problemilla con ASP.NET AJAX. Si leeis el post original VS 2008 and .NET 3.5 Beta Released, recordaréis que comenté un parche para instalar y resolver el problema:

Debemos descargar y ejecutar este archivo batch. Sólo tarda unos pocos
segundos en ejecutarse y arregla un problema que hemos encontrado hace una
semana con la política de versiones de System.Web.Extension.dll – que es el
assembly que contiene a ASP.NET AJAX. Si no ejecutamos este archivo, entonces
los proyectos de ASP.NET 2.0 creados con ASP.NET AJAX 1.0 y VS 2005 usará la
versión que viene en la Beta 2 de .NET 3.5. Esto funcionará bien - pero
introduciremos una dependencia con .NET 3.5 en aplicaciones que creemos con VS
2005. La ejecución del archivo Batch la política de enlazado del assembly
System.Web.Extensions.dll y nos aseguraremos que sólo usaremos la versión
nueva de .NET 3.5 en los proyectos en los que usemos explícitamente .NET
3.5
Las buenas noticias es que corregimos el problema, y permite que podamos desarrollar apilcaciones con ASP.NET AJAX en la misma máquina tanto con VS 2005 y VS 2008.
El primer síntoma es que VS 2008 detecta una versión incorrecta de ASP.NET AJAX cuando abrimos proyectos de ASP.NET 2.0 (en concreto puede hacer que VS 2008 piense que en realidad se está usando .NET 3.5). Esto hace necesario un par de pasos adicionales cuando abramos con la Beta2 por primera vez un proyecto con ASP.NET AJAX 1.0. No tendremos que hacer estos pasos con la release final de VS 2008.
Actualizar aplicaciones ASP.NET AJAX 1.0 para usar ASP.NET AJAX 3.5
Cuando usemos VS 2008 para abrir una aplicacion existente de ASP.NET 2.0 que usa ASP.NET AJAX 1.0, podemos elegir si queremos actualizar la aplicación para que use .NET 3.5 (y la versión de ASP.NET AJAX que incluye).

El equipo de herramientas web de Visual Studio ha publicado el post Upgrading ASP.NET AJAX 1.0 Websites and Web Applications to .NET Framework 3.5 que nos describe las instrucciones para conseguir usar VS 2008 Beta 2. Las buenas noticias es que esa actualización NO requiere ningún cambio en nuestro código, y sólo tardará unos minutos en terminar.

Como parte de la actualización de ASP.NET AJAX 1.0 a .NET 3.5, querremos actualizar los controles de la librería de ASP.NET AJAX que estemos usando. El equipo de ASP.NET AJAX Control Toolkit está publicando versiones tanto para ASP.NET AJAX 1.0 y .NET 3.5 que podemos descargar aquí:

El post Upgrading ASP.NET AJAX 1.0 Websites and Web Applications to .NET Framework 3.5 también describe cómo añadir esta versión ASP.NET AJAX 3.5 del AJAX Control Toolkit en la barra de herramientas de VS 2008


Usando VS 2008 para construir aplicaiones ASP.NET AJAX 1.0 (con Multi-Targeting).
Cuando usamos VS 2008 para abrir aplicaiones de ASP.NET 2.0 que usen ASP.NET AJAX 1.0 podemos elegir no actualizarlo a la versión .NET 3.5, y usar el multi-targeting de VS 2008 para construirla con ASP.NET 2.0 y ASP.NET AJAX 1.0
El equipo de herramientas web de VS ha publicado el post Using VS 2008 to Target ASP.NET AJAX 1.0 que describe cómo hacer esto.
En ese post hay una serie de pasos manuales que tendremos que hacer en la Beta2 para tener en la barra de herramientas tanto las herramientas de ASP.NET AJAX 1.0 como los controles de ASP.NET AJAX Control Toolkit. Para la versión final de VS 2008 pondremos un paquete de instalación para hacer esto automáticamente, y añadiremos templates tanto de items como de proyectos para ASP.NET AJAX 1.0.
Os estaréis preguntado – ¿Porque usar VS 2008 para hacer aplicaciones con ASP.NET AJAX 1.0 en vez de VS 2005?. Las ventajas son que podremos aprovechar las nuevas características de VS 2008 como el intellisense de JavaScript, debugging de javaScript, mejor diseñador WYSISWYG, administración de CSS, las mejoras del editor de código, test unitarios en VS Professional, integración con TFS, y más.

Resumen
.NET 3.5 incluye soporte para todas las características de ASP.NET AJAX 1.0. Escribiré algunos post más adelante sobre cómo aprovecharlas.
Podemos usar VS 2008 tanto para crear proyectos con .NET 3.5 como para versiones anteriores del framework. El equipo de herramientas web de VS ha publicado algunos post sobre cómo hacer esto paso por paso.
Espero que sirva.

Abrir Popup con JavaScript

Para abrir una ventana, se hace con el método 'open()' al que se le debe pasar primero la dirección de la página; después el nombre de la ventana (en este caso venta);los atributos de la ventana (en este caso : pantallacompleta, herramientas, direcciones, estado, barramenu, barrascroll, cambiatamano, ancho, alto, izquierda, arriba, sustituir) y si el url será añadido o reemplazado al historial de la página (en este caso: sustituir).
La dirección de la ventana y el nombre no creo que necesiten mas explicación; sin embargo los atributos sí a continuación los explicamos:
  • fullscreen: Hace que la ventana se abra en toda la pantalla
  • toolbar: Hace que la ventana se abra con o sin barra de herramientas
  • location: Hace que la ventana se abra con o sin barra de direcciones
  • status: Hace que la ventana se abra con o sin barra de estado
  • menubar: Hace que la ventana se abra con o sin barra de menú
  • scrollbars: Hace que la ventana presente o no las barras de desplazamiento
  • resizable: Si la ventana puede cambiar de tamaño o no
  • width: El ancho de la ventana
  • height: El alto de la ventana
  • top: La posición vertical de la ventana
  • left: La posición horizontal de la ventana

Estos atributos recibirán como valor 1 para que estén activos, o 0 para que no. Además de estos atributos, esta función también tiene otros que no se han puesto por no considerarlos demasiado importantes como channelmode, alwaisraised o dependent. Esta función aunque esta muy especializada es algo complicada para lo sencillo que es el método open().Así la podrías poner tú directamente.
Por ejemplo:
open("tuarchivo.htm","Juan","toolbar=0");

Para hacer que abra la página en cuanto el usuario entre; seria:


En el Head:

Desplazarse con ENTER en asp.net

Este ejemplo va para darle mas facilidades al usuario final y un poco tratando de que nuestras aplicaciones Web se parezcan alas aplicaciones Windows con todas las funcionalidades que nos brinda.
Para pasar de un control a otro pulsando la tecla enter Función que nos permite pasar de un control a otro


Aquí lo k hacemos es agregar la funcion de javascript a nuestros controles del lado del servidor.

For Each Con As Control In Page.FindControl("Form1").ControlsIf (TypeOf Con Is TextBox) Then
CType(Con, TextBox).Attributes.Add("onKeyDown", "SiguienteObjeto();")
ElseIf (TypeOf Con Is DropDownList) Then
CType(Con, DropDownList).Attributes.Add("onKeyDown", "SiguienteObjeto();")
ElseIf (TypeOf Con Is RadioButtonList) Then
CType(Con, RadioButtonList).Attributes.Add("onKeyDown", "SiguienteObjeto();")'
ElseIf (TypeOf Con Is CheckBox) Then ' para los CheckBox'
CType(Con, CheckBox).Attributes.Add("onKeyDown", "SiguienteObjeto();")'
ElseIf (TypeOf Con Is CheckBoxList) Then 'para los CheckBoxList'
CType(Con, CheckBoxList).Attributes.Add("onKeyDown", "SiguienteObjeto();")' si hay controles de otro tipo solo agregar como los ejemplos anteriores
End If
Next

Como evitar Sys no Esta definido

Cuando salio la version 1 de Ajax intente implementarla pero siempre me generaba Sys no esta definido, intente con todo lo posible pero no me funcionaba, despues de unas semanas encontre la solucion , era la configuracion del Web.config , a continuación les muestro los tags necesarios para poder realizar esta configuracion.
<;assemblies>;
<;add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">;
<;/assemblies>;
<;httphandlers>;
<;remove path="*.asmx" verb="*">;
<;add path="*.asmx" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" verb="*" validate="false">;
<;add path="*_AppService.axd" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" verb="*" validate="false">;
<;add path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" verb="GET,HEAD" validate="false">;
<;/httphandlers>;
<;pages>;
<;controls>;
<;add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" namespace="System.Web.UI" tagprefix="asp">;
<;/controls>;
<;/pages>;

Leer la conectionstring del web.config desde un proyecto asociado

Premisa: Tenemos una solución compuesta por un proyecto del tipo Sitio web y un proyecto del tipo Biblioteca de clases en donde estamos construyendo nuestra capa de datos y que hemos llamado DAL.
Queremos, desde la DAL, recuperar la conectionstring que está almacenada en el web.config del proyecto Sitio Web.
Solución:

  1. Añadir las referencias del tipo .NET: System.Web y System.Configuration




  2. Añadir los using, que sí son duplicados pero nos simplifican la sintaxis del código. using System.Web; using System.Configuration;

  3. Invocar a la cadena de conexión en el web.config con el siguiente método (o la variación que se te ocurra. ///
    /// Devuelve la cadena de conexion a la base de datos
    ///

    ///
    public string cadenaConexion()
    {
    string retValue = string.Empty; retValue= System.Web.Configuration.WebConfigurationManager.ConnectionStrings ["pruebaConnectionStringSQL"].ConnectionString;
    return retValue;
    }