Archivo de la categoría: .NET

Microsoft .NET

Como crearte una maquina virtual con SharePoint 2010

Este sera el primero de una serie de posts categorizados como SharePoint 2010, donde voy a recoger todas mis experiencias sobre esta plataforma de Microsoft. Cuando empezamos a trabajar con SharePoint, lo primero que vamos a necesitar es un entorno para nuestras pruebas… SharePoint 2010 nos permite montar un entorno de desarrollo sobre sistemas operativos Windows Vista / 7, cosa que con la versión anterior no era posible, y debíamos recurrir a alguna de las diferentes versiones de Windows Server 2003.

En cuanto a los requisitos, decir que la plataforma sobre la que vamos a instalar el producto ha de ser de 64-bits, 4 GB de RAM para un entorno de desarrollo y unos 30 GB de espacio en disco duro.

En este aspecto, los requisitos minimos deseados (para un perfil desarrollador) de un entorno SharePoint 2010, serian:

  • Windows Server 2008 / R2 o Windows 7
  • SQL Server 2008 / R2
  • Microsoft Sharepoint Server 2010
  • Microsoft Office 2010
  • Visual Studio 2010

Tenemos múltiples opciones antes de dar un siguiente paso… bien descargarte una maquina virtual con este entorno o bien montártela por tu cuenta.

  • En el caso de ahorrar tiempo descargándote una maquina virtual, te recomiendo la ultima versión que Microsoft ha publicado: 2010 Information Worker Demonstration and Evaluation Virtual Machine (RTM), importante a destacar que esta maquina esta creada sobre la plataforma de virtualización Hyper-V.
  • Si optamos por montarnos nuestra maquina virtual podemos empezar revisando Building a SharePoint 2010 Virtual Machine, en donde encontraremos recursos que nos ayudaran en este proceso. En este caso podremos montarlo en la plataforma de virtualizacion que mas rabia no de: VMware, Hyper-V, VirtualBox…

Como referencia, os dejo este enlace a la MSDN, donde en 5 sencillos pasos, explican como configurar un entorno de desarrollo para SharePoint 2010, idenpendientemente del sistema operativo (Windows Vista, Windows 7 o Windows Server 2008) : Setting Up the Development Environment for SharePoint 2010.

Reducir el tamaño del fichero de log en SQL Server 2005

Hoy me ha tocado realizar tareas de mantenimiento en uno de los servidores de desarrollo, y he visto que gran parte del espacio en disco se lo estaba comiendo uno de los ficheros de una base de datos SQL Server de una aplicación de SharePoint.

Para los que no tengan muy claro, como almacena SQL Server las bases de datos, decir que hay al menos dos ficheros por base de datos. Uno de estos ficheros es donde estarán almacenados los datos de nuestras tablas, vistas y demás objetos (el cual tiene extensión *.mdf)… y el otro es el fichero de transacciones (el cual tiene extensión *.ldf). El fichero de transacciones consiste en una serie de registros de todas las modificaciones de la base de datos y de la transacción que ha realizado cada modificación. En el registro de transacciones figura el inicio de cada transacción. También registra los cambios de los datos y facilita suficiente información para deshacer las modificaciones (si fuera necesario posteriormente) realizadas durante cada transacción.

Como os podeis imaginar, el archivo *.ldf o de transacciones puede ocupar un tamaño considerable, por lo que a veces, nos interesa reducirlo o truncarlo. Si no nos interesa realizar una copia previa de este archivo, lo mas rápido es ejecutar una consulta SQL, para ello, abrimos el analizador de consultas e introducimos esta query:

USE MiBase
CHECKPOINT
EXEC sp_addumpdevice 'disk', 'CopiaMiBase', 'd:LogMiBase.bak'
BACKUP DATABASE MiBase TO CopiaMiBase
BACKUP LOG MiBase WITH TRUNCATE_ONLY
DBCC SHRINKFILE (MiBase_Log, 100)
Hay que sustituir MiBase por el nombre de la base de datos en la que queramos reducir el archivo de transacciones. Existe un paramento que podemos modificar a nuestro gusto, que es el tamaño del archivo *.ldf, actualmente establecido a 100 (en megabytes, expresado como un número entero). Aquí tenéis más información sobre la instruccion DBCC SHRINKFILE y sus parámetros.

Libro gratuito de ASP.NET 4.0

Este libro de José Manuel Alarcón, está dirigida a programadores de ASP.NET 2.0 que quieren dominar las principales tecnologías que aporta la última edición de la plataforma de desarrollo Web de Microsoft, ASP.NET 4.0.

Con él aprenderás a sacarle partido a fondo a todas las nuevas tecnologías aparecidas recientemente, relacionadas con el desarrollo Web. Se da por hecho que el lector tiene unos conocimientos, cuando menos fundamentales, de ASP.NET 2.0, HTML y JavaScript, si bien para las técnicas que se explican en el interior se parte de cero.

Si quieres ver este documento online (en pantalla completa) pincha aquí.

Máquina Virtual con SharePoint, Office y Project Server 2010

Como viene siendo habitual, Microsoft ha publicado una máquina virtual con los siguientes productos: SharePoint, Office y Project Server 2010.

Verdaderamente no es una maquina virtual sino que son dos, las cuales llevan como sistema operativo Windows Server 2008 R2 Hyper-V y a parte llevan por defecto instaladas:

Maquina Virtual 1:

  1. Windows Server 2008 R2 Standard Evaluation Edition x64, running as an Active Directory Domain Controller for the “CONTOSO.COM” domain with DNS and WINS
  2. Microsoft SQL Server 2008 R2 Enterprise Edition with Analysis, Notification, and Reporting Services
  3. Microsoft Office Communication Server 2007 R2
  4. Microsoft Visual Studio 2010
  5. Microsoft SharePoint Server 2010 Enterprise Edition
  6. Microsoft Office Web Applications
  7. Microsoft FAST Search for SharePoint 2010
  8. Microsoft Project Server 2010
  9. Microsoft Office Professional Plus 2010
  10. Microsoft Visio 2010
  11. Microsoft Project 2010
  12. Microsoft Office Communicator 2007 R2

Maquina Virtual 2:

  1. Windows Server 2008 R2 Standard Evaluation Edition x64, joined to the “CONTOSO.COM” domain
  2. Microsoft Exchange Server 2010

Descarga desde aquí.

Poner offline una aplicacion ASP.NET

aspnet

Desde la version 2.0 existe un metodo muy sencillo para poner offline una aplicación ASP.NET, debido a tareas de mantenimiento. He de confesar que hasta la fecha y por desconocimiento, he estado utilizando soluciones muy poco practicas, como usar un Default.html o redirecciones…

Buceando en la Red di con un metodo muy sencillo, ya implementado por esta plataforma…  se trata simplemente de crear un archivo llamado App_Offline.htm y colocarlo en la raíz de nuestra aplicación.

Siempre que ASP.NET detecte la existencia de este archivo en el raíz, cerrará la aplicación, descargará el dominio de aplicación de la memoria del servidor y desbloqueará las bases de datos adjuntadas dinámicamente. Además, cualquier petición que llegue a nuestra aplicación, sea de usuarios nuevos o de gente que ya la estuviese usando, obtendrá como respuesta el contenido de ese archivo que normalmente contendrá un mensaje de “Página en mantenimiento“.

Se trata de un modo sencillo y conveniente de poner la aplicación offline. Espero que a vosotros también os resulte útil.

Referencia: Erik Porter’s Blog

ASP.NET mantener la posición del scroll después de un postback

aspnetEn paginas web con mucho contenido vertical, hace que estas sean muy largas, y al hacer un postback, el scroll se ha situado al principio de esta. Esto se convierte en un engorro para el usuario, lo que resta navegabilidad y usabilidad a la pagina.

La idea es poder dejar la pagina en la misma posición de scroll, cuando el usuario haga un postback. Para conseguirlo, se pueden usar tres métodos, uno global de la aplicación Web y el resto específico a cada página:

  • En el archivo de configuración web.config, ubique la sección <pages> y agregue el siguiente atributo estableciendo a su valor a “true”:
    maintainScrollPositionOnPostBack="true"

    Lo anterior mantendrá la posición del scroll para todas las páginas web de sitio.

  • En la declaración a nivel de página (@Page), agregue el atributo homólogo al anterior con el mismo valor:
    <%@ Page MaintainScrollPositionOnPostback="true" %>

    Con esto se mantiene la posición del scroll únicamente para la página en cuestión.

  • Si se requiere realizarlo mediante código, se puede utilizar:
    System.Web.UI.Page.MaintainScrollPositionOnPostBack = true;

    Lo cual es equivalente a realizarlo en la declaración a nivel de página.

Iframe que ocupe toda la pantalla

html

Hoy me he pegado con un tema un buen rato y me ha extrañado dado la simpleza del problema… Creando un iframe que ocupase la totalidad de la pantalla… he probado con: <iframe width=”100%” height=”100%”> y no he sido capaz de sacarlo… ya que el ancho lo ha tomado correctamente pero el el alto no, siguiendo las indicaciones del W3C. He realizado varias pruebas cambiando atributos a nivel de CSS pero no he obtenido el resultado esperado…

Después de buscar un rato por la Red he dando con la solución:

Parece ser la única forma de hacer que un iframe se ajuste a la altura de la página.

ASP.NET configuración retail

aspnetSeguro que a todos nos ha pasado que olvidamos deshabilitar en el archivo web.config, cuando pasamos una aplicación al entorno de Integración o Producción, parámetros que solo afectan al entorno de Desarrollo (depuración, trace, etc.)… pues una forma sencilla de evitar esto, es configurar el archivo machine.config en la maquina de Integración o Producción a modo “Retail”

Para ello, establecemos a true el atributo retail del elemento deployment:


	
		
	

Nota: Solo se puede establecer a nivel de máquina (machine.config) y no de sitio o aplicación Web.

Cuando este atributo se establece <deployment retail=”true”/>, ASP.NET deshabilita cualquier configuración de depuración, trace y errores personalizados que exista a nivel de aplicación (es decir en los archivos web.config individuales).

En consecuencia, si al subir al servidor (de Integración o Producción) una aplicación te das cuenta que no funciona la configuración de depuración/trace de la misma, posiblemente sea porque el archivo machine.config del sistema tiene establecida la configuración “Retail”.

Referencia: MSDN

Publicar una aplicacion ASP.NET 32-Bits en un Sistema de 64-Bits

microprocessor-athlon-64Es útil saber cómo publicar aplicaciones ASP.NET de 32-bit en Sistemas Operativos de 64-bits. Por ejemplo, suponga que deseas publicar una aplicacion en un Windows Server 2003 ( de64-bit)  con IIS6.

Este es el procedimiento:

1) Desregistrar el Framework de 64-bit con el siguiente comando:

%windir%Microsoft.NETFramework64[VersionFolder]aspnet_regiis.exe -u

2) Ejecute el siguiente comando en un símbolo del sistema para permitir el modo de 32 bits para las aplicaciones web:

%windir%system32cscript %SYSTEMDRIVE%inetpubadminscriptsadsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

3) Registrar el Framework de 32-bit con el siguiente comando:

%windir%Microsoft.NETFramework[VersionFolder]aspnet_regiis.exe -i

Después de realizar los pasos anteriores, solo tienes que publicar tu aplicacion . Nota: hay que recordar la diferencia existente entra las rutas de las carpetas del Framework 32 y la Framework 64.

Para publicar una aplicacion ASP.NET en un equipo Windows Server 2008 64-Bit con IIS7.0, no es necesario registrar la versión de 32-bits y 64-bits paso a paso como hemos visto anteriormente. El proceso seria:

1) Crear un grupo de aplicaciones con las siguientes propiedades:
* Activar las aplicaciones de 32 bits = True
* Modo Pipeline Manajado = Integrado

2) Asignar la aplicación de destino para este grupo de aplicaciones de modo que la aplicación puede ejecutarse en modo de 32 bits.

3) Comprobar que esta permitida la restricción ISAPI/CGI para aspnet_isapi.dll de la carpeta de Framework de 32-bit.

4) Asegurarse que la autenticación anónima está habilitada para la aplicación.

Después de realizar los pasos anteriores, la aplicación debe funcionar correctamente con un mínimo de configuración de IIS. Tu puedes especificar otras configuraciones acorde a los requisitos de la aplicación.

Fuente: devx.com