Archive for January, 2008

Código fuente del .NET Framework

Cómo muchas ya sabrán se liberó el código fuente del .NET Framework.

Siguien los pasos del post [VS2008] Finally !!! liberado el codigo del .Net Framework (conociendo el interior del lado oscuro) de El Bruno.

Me encontré que no podía instalar el HotFix, luego de Googlear por un rato encontré el post Software that sucks #2: How to not write a patch en el cúal dicen que hace falta tener insertado el DVD del Visual Studio en la unidad de DVD. Luego de insertarlo y volver a intentar, el HotFix se instalo correctamente.

Conexiones FTPS (FTP over SSL) desde .NET

Hola a todos, desde hace ya un par de días estoy trabajando en una aplicación que debe conectarse a un servidor FTPS (FTP over SSL) y en modo PASSIVE.

Hasta la fecha había utilizado la clase Systme.Net.FtpWebRequest que funcionaba muy bien para lo que necesitaba (siempre con FTP común), y decía que soportaba SSL.

Bueno lo que sucedió es que la conexión la podía efectuar bien pero al momento de entrar en modo PASSIVE obtenía la siguiente excepcion “The server returned an address in response to the PASV command that is different than the address to which the FTP connection was made.”

Googleando un rato, vi que esto no tenía solución, y sucede porque el equipo responde al comando FTP PASV con una IP diferente a la que con la cual nos conectamos.

Buscando en la Web no encontré ninguna librería gratuita para realizar esto (si algunas pagas: Compare SFTP (SSH File Transfer Protocol) components for .NET (C#, VB.NET))

Y luego buscando implementar una solución en PHP, llegué a MOVEit Freely.

La verdad es simple y sencillo de usar, lo que andaba buscando algo que cumpla el principio KISS (Keep It Simple, Stupid)

Obtener la salida de un proceso en .NET

Hola todos,

Aquí les dejo un código que nos permite ejecutar una aplicación y obtener la salida que produce el mismo.

Dim ftps As New Process()
ftps.StartInfo.RedirectStandardOutput = True
ftps.StartInfo.FileName = “ftps.exe”
ftps.StartInfo.Arguments = args
ftps.StartInfo.UseShellExecute = False
ftps.Start()
ftps.WaitForExit()
‘Get the output of ftps.exe
Dim out As String = ftps.StandardOutput.ReadToEnd()
Console.WriteLine(out)
log.Debug(out)