Desarrollo en .NET

Desarrollo en C# bajo la plataforma .NET y Mono

May 2012 - Artículos

Agregar ensamblados adicionales a nuestra solución de SharePoint 2010

En esta entrada veremos cómo agregar ensamblados adicionales a nuestras soluciones de SharePoint 2010 y poder implementarlos en el GAC o a nivel WebApplication en nuestros servidores.

El primer paso es abrir el paquete de nuestra solución.

Una vez tengamos el paquete abierto, accedemos a la sección "Avanzadas" que encontraremos en la parte inferior derecha.

Ahora debemos hacer clic en el botón "Agregar" y seleccionar "Agregar ensamblado existente...".

Sólo queda seleccionar el ensamblado de interés y el destino de la implementación.

Posted: 7/5/2012 10:14 por Darío Cerredelo | con no comments
Archivado en:
C# a fondo: Las clases System.Net.FtpWebRequest y System.Net.FtpWebResponse

El espacio de nombres System.Net del .NET Framework proporciona una interfaz de programación sencilla para muchos de los protocolos que se utilizan en las redes.

La clase FtpWebRequest implementa un cliente FTP.

La clase FtpWebResponse encapsula la respuesta de un servidor de FTP a una solicitud.

La clase WebRequestMethods.Ftp representa los tipos de métodos del protocolo FTP que se pueden utilizar con una solicitud FTP.

Veamos un ejemplo de trabajo con un servidor FTP usando estas clases que nos brinda el .NET Framework, en concreto las operaciones de subida, listado, descarga y borrado de ficheros.

Espacios de nombres

using System.IO;
using System.Net;

Código común a las distintas operaciones

const string server = "ftp://localhost/";
static NetworkCredential credentials = new NetworkCredential("ftpuser", "ftppw");

const string document = "Documento.pdf";
static string uploads = Environment.CurrentDirectory + @"\Subidas\";
static string downloads = Environment.CurrentDirectory + @"\Descargas\";

static void Main(string[] args)
{
    UploadFile();
    ListDirectory();
    DownloadFile();
    DeleteFile();
}

Subida de archivo

public static void UploadFile()
{
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(server + document);
    request.Credentials = credentials;
    request.Method = WebRequestMethods.Ftp.UploadFile;

    byte[] content = File.ReadAllBytes(uploads + document);

    request.ContentLength = content.Length;

    Stream stream = request.GetRequestStream();
    stream.Write(content, 0, content.Length);
    stream.Close();
}

Listado de contenido de directorio

public static void ListDirectory()
{
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(server);
    request.Credentials = credentials;
    request.Method = WebRequestMethods.Ftp.ListDirectory;

    using (StreamReader reader = new StreamReader(((FtpWebResponse)request.GetResponse()).GetResponseStream()))
    {
        Console.WriteLine(reader.ReadToEnd());
        reader.Close();
    }

    Console.Read();
}

Descarga de archivo

public static void DownloadFile()
{
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(server + document);
    request.Credentials = credentials;
    request.Method = WebRequestMethods.Ftp.DownloadFile;

    using (MemoryStream stream = new MemoryStream())
    {
        ((FtpWebResponse)request.GetResponse()).GetResponseStream().CopyTo(stream);
        File.WriteAllBytes(downloads + document, stream.ToArray());
    }
}

Borrado de archivo

public static void DeleteFile()
{
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(server + document);
    request.Credentials = credentials;
    request.Method = WebRequestMethods.Ftp.DeleteFile;

    request.GetResponse();
}

Para finalizar, el código en un proyecto de ejemplo de Visual Studio 2010 como fichero adjunto.

Referencia:

System.Net (Espacio de nombres)

FtpWebRequest (Clase)

FtpWebResponse (Clase)

WebRequestMethods.Ftp (Clase)

Posted: 2/5/2012 10:17 por Darío Cerredelo | con no comments
Archivado en: