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)
Estudio realizado por Forrester Consulting para Microsoft, que evalúa el impacto financiero que conlleva implantar Microsoft Office SharePoint Server 2010 en nuestras empresas.
El documento, en formato PDF puedes descargarlo de aquí.
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í.
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:
Maquina Virtual 2:
Descarga desde aquí.
En 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:

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:
<style type=”text/css”>
html, body, div, iframe { margin:0; padding:0; height:100%; }
iframe { display:block; width:100%; border:none; }
</style>
Parece ser la única forma de hacer que un iframe se ajuste a la altura de la página.
Seguro 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:
<configuration> <system.web> <deployment retail="true" /> </system.web> </configuration>
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
Es ú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.NET\Framework64\[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%\system32\cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs
SET W3SVC/AppPools/Enable32bitAppOnWin64 1
3) Registrar el Framework de 32-bit con el siguiente comando:
%windir%\Microsoft.NET\Framework\[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
Despues de unos meses de paron, a causa de un proyecto que tengo entre manos… he vuelto con ganas.
A veces es necesario integrar en tu aplicación codigo encontrado en Internet o de algun otro compañero, en un lenguaje que no es el que estas usando.
Una opcion, es traducir el codigo bien a mano si no es mucho o bien usar algun conversor… aunque otra opción es modificar el Web.config de tu aplicacion unicamente.
Los cambios a realizar unicamente son incluir un segundo compilador y listo:
<system.codedom>
<compilers>
<compiler language=“c#;cs;csharp“ extension=“.cs“ type=“Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089“ warningLevel=“4“>
<providerOption name=“CompilerVersion“ value=“v3.5“ />
<providerOption name=“WarnAsError“ value=“false“ />
</compiler>
<compiler language=“vb;vbs;visualbasic;vbscript“ extension=“.vb“ type=“Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089“ warningLevel=“4“>
<providerOption name=“CompilerVersion“ value=“v3.5“ />
<providerOption name=“OptionInfer“ value=“true“ />
<providerOption name=“WarnAsError“ value=“false“ />
</compiler>
</compilers>
</system.codedom>
Moonlight es la versión de Linux de Silverlight, el framework multimedia de Microsoft para la web, que ahora ha llegado a la primera beta de su versión 2.0. Así lo anuncia Miguel de Icaza, fundador del proyecto, en su blog.
En Moonlight 2.0 beta se logra la anhelada compatibilidad con Silverlight 2, y aunque en Windows los usuarios vayan ya por Silverlight 3, la idea que de Icaza tiene es la de acercarse cada vez más a lo que Microsoft ofrece.
Ahora, entonces, hay mejoras varias en la adopción de las API oficiales, lo cual permite aumentar la calidad de streaming de audio (con la llegada de soporte para PCM) y de vídeo (RGBA e YV12).
Descarga Moonlight 2.0 beta