viernes, 3 de diciembre de 2010

Linq Sharepoint

Para las personas que estén interesadas en el uso de linq en sharepoint pueden ver estos blogs donde se da ejemplos y ayuda sobre este tema:





Emanuel Soto


Emanuel Soto


Emanuel Soto


Emanuel Soto

martes, 2 de noviembre de 2010

Sharepoint Problemas Ajax UpdatePanel

Al usar AJAX dentro de Sharepoint me encontré con un problema al usar el UpdatePanel, ya que al usar el UpdatePanel este solo funcionaba una sola vez, las siguientes acciones que se realizaban no eran capturadas por el update panel, buscando un solución para este problema encontré el siguiente código de javascript que permite solucionar este problema.
Este código lo tienen que poner para que el update panel se comporte correctamente.

Emanuel Soto
Emanuel Soto


<script type="text/javascript">
    _spOriginalFormAction = document.forms[0].action;
    _spSuppressFormOnSubmitWrapper = true
</script
Emanuel Soto



jueves, 21 de octubre de 2010

Android 2.2

Para los interesados en el desarrollo en Android, pueden ver las características de la ultima versión de android aqui.
Este es el video de Android 2.2

martes, 19 de octubre de 2010

Compresión de archivos .NET

Dentro del desarrollo dentro de .NET en algun momento he tenido la necesidad de comprimir archivos en formato .ZIP, para ello les recomendaría usar esta librería para lo compresión de archivos,  dentro de estas tenemos:

http://dotnetzip.codeplex.com/

Ejemplo de código para la compresión de archivos:


Emanuel Soto


            using (ZipFile zip = new ZipFile())
            {
                zip.AddFile("c:\\ejemplo.png", "images");
                zip.AddFile("c:\\ejemplo2.pdf", "files");
                zip.AddFile("ejemplo.txt");
                zip.Save("MyZipFile.zip");
            }


http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx


Emanuel Soto
                        using (ZipOutputStream s = new ZipOutputStream(File.Create(args[1])))
            {

                s.SetLevel(9); // Nivel de compresión

                byte[] buffer = new byte[4096];

                foreach (string file in filenames)
                {

                    // Crear la entrada para agregar el archivo
                    ZipEntry entry = new ZipEntry(Path.GetFileName(file));
                    entry.DateTime = DateTime.Now;
                    s.PutNextEntry(entry);
                    //Agregar el contenido a la nueva entrada.
                    using (FileStream fs = File.OpenRead(file))
                    {
                        int sourceBytes;
                        do
                        {
                            sourceBytes = fs.Read(buffer, 0, buffer.Length);
                            s.Write(buffer, 0, sourceBytes);
                        } while (sourceBytes > 0);
                    }
                }

                //Finalizar la creación
                s.Finish();
                s.Close();
            }

Emanuel Soto

martes, 12 de octubre de 2010

Configuración de smtp con gmail

Para la configuración de gmail dentro asp.net:

Agregar la siguiente configuración dentro del web.config



<mailSettings>
      <smtp from="CORREO@gmail.com">
        <network host="smtp.gmail.com" userName="CORREO@gmail.com" password="COTRASEÑA" port="587" />
      </smtp>
</mailSettings>




Para enviar el correo tienes que configurar la validación del certificado para eso tienes que agregar el siguiente código para la validación del certificado remoto, este código lo tienes que usar antes de enviar correo.





public static bool ValidateServerCertificate(Object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
        {
            return true;
        }





Y un método de ejemplo para enviar el correo que utiliza la validación del certificado puede ser como sigue:

public static void EnviarMail()
        {
            ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate);

            MailMessage message = new MailMessage();
           
            message.To.Add(“correodestino@dominio”);
           

            message.Subject = titulo;
            message.Body = body;
            message.IsBodyHtml = true;
           
            message.Priority = MailPriority.Normal;

            try
            {
                SmtpClient client = new SmtpClient();
               
                client.EnableSsl = true;               
                client.Send(message);
            }
            catch
            {
               //Manejo de errores

            }
        }

Herramientas desarrollo de workflows para Sharepoint 2010

Emanuel Soto

Dentro de sharepoint se tiene la posibilidad de trabajar con workflows, estos pueden ser creados
tanto en Visual Studio 2010 como en sharepoint designer 2010, para que puedan tener en cuenta las diferencias que hay entre estas herramientas pueden ver el siguiente link


Emanuel Soto

Emanuel Soto

jueves, 7 de octubre de 2010

XML Problemas Validacion

Al realizar una validación de XML tuve un problema al usar el código de ejemplo de microsoft, al leer un archivo de XML,
Este es el código que pueden encontrar en el ejemplo dado por microsoft
Emanuel Soto

Emanuel Soto



    // Create the XmlSchemaSet class.
    XmlSchemaSet sc = new XmlSchemaSet();

    // Add the schema to the collection.
    sc.Add("urn:bookstore-schema", "books.xsd");

    // Set the validation settings.
    XmlReaderSettings settings = new XmlReaderSettings();
    settings.ValidationType = ValidationType.Schema;
    settings.Schemas = sc;
    settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);
 
    // Create the XmlReader object.
    XmlReader reader = XmlReader.Create("booksSchemaFail.xml", settings);

    // Parse the file. 
    while (reader.Read());
Este código me da un error al leer mi xml:
  •  Codificación Unicode, usando XMLParseContext puedes solucionar este problema, referencia.
Una vez que se usa Unicode sale un error al leer el xml
  • Error Message: Data at the root level is invalid. Line 1, position 1.
Para solucionar el problema use el siguiente código.
                XmlReaderSettings settings = new XmlReaderSettings();
                settings.ValidationType = ValidationType.Schema;
                sc.Add("urn:bookstore-schema", "books.xsd");
                settings.IgnoreWhitespace = true;
                settings.ValidationFlags = XmlSchemaValidationFlags.ReportValidationWarnings;
                settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
                using(StreamReader sr = new StreamReader("booksSchemaFail.xml"))
                {
                    using(XmlReader reader = XmlReader.Create(new StringReader(sr.ReadToEnd()),settings))
                    {
                        while (reader.Read());
                    }
                }

Emanuel Soto

Emanuel Soto



Emanuel Soto

Emanuel Soto


Emanuel Soto


Emanuel Soto


Emanuel Soto