none
Problema con job en sharepoint 2010 RRS feed

  • Pregunta

  • Buenos dias estoy creando un job con visual studio 2010 que se ejecuta cada mes y que crea un anuncio en una lista de anuncios con los cumpleañeros, el problema es que no me hace nada y no me da ningun error y cuando intento debuguear el codigo no me deja poner un breakpoint, me da el siguiente error the common languaje was unable to set the breakpoint, aqui dejo el codigo del metodo Execute

     

    SPSite spsSite = new SPSite(SPContext.Current.Web.Url);
    
        SPWeb spwWeb = spsSite.OpenWeb();
       
       
       SPList splList = spwWeb.Lists["Personal"];
       SPList splListAnuncios = spwWeb.Lists["Noticias Internas"];
    
    
       //Construimos un objeto que se pueda consultar con LONQ   
    
       List<SPListItem> lItems = new List<SPListItem>();
    
       foreach (SPListItem splItem in splList.Items)
       {
        lItems.Add(splItem);
       }//fin del foreach
    
       var LinqQuery = from l in lItems select l;
    
       String resumenDeCumpleañeros = "";
    
       foreach (var l in LinqQuery)
       {
    
    
        DateTime FechaActual = DateTime.Parse(l.GetFormattedValue("Fecha de nacimiento"));
        String nombre = l.GetFormattedValue("FirstName");
        String apellidos = l.GetFormattedValue("Title");
    
        if (FechaActual.Month.Equals(System.DateTime.Now.Month))
        {
         resumenDeCumpleañeros += nombre + " " + apellidos + "\n";
    
        }
    
    
    
       }//fin del foreach
    
       int diasdelmes = DateTime.DaysInMonth(System.DateTime.Now.Year, System.DateTime.Now.Month);
       SPListItem spListItem = splListAnuncios.Items.Add();
       spListItem["Title"] = "Feliz Cumpleaños";
       spListItem["Body"] = " les desea un Feliz Cumpleaños a: \n" + resumenDeCumpleañeros;
       spListItem["Expires"] = System.DateTime.Now.AddDays(diasdelmes - 1);
    
       spListItem.Update();
    

     


    martes, 26 de abril de 2011 20:20

Respuestas

Todas las respuestas

  • Hola Esteban,

    Lo primero que yo haría es asegurate que tu código está correcto mediante un proyecto de tipo aplicación de consola...así por lo menos descartarás que el fallo esté en código. En segundo lugar, ¿cómo estás desplegando el Timer Job? Dale una mirada a estos enlaces:

    Saludos

    martes, 26 de abril de 2011 20:29
  • Gracias por la ayuda, ya hice una aplicacion de consola y depure todo el codigo, y me hace lo que quiero, pero lo pongo en el job y este no hace nada cuando lo ejecuto, el codigo depurado es el siguiente:

     

    SPSite spsSite = new SPSite("http://algo:34679/");
    
          SPWeb spwWeb = spsSite.OpenWeb();
    
    
          
          SPList splList = spwWeb.Lists["Personal"];
          SPList splListAnuncios = spwWeb.Lists["Noticias Internas"];
    
    
          //Construimos un objeto que se pueda consultar con LONQ      
    
          List<SPListItem> lItems = new List<SPListItem>();
    
          foreach (SPListItem splItem in splList.Items)
          {
            lItems.Add(splItem);
          }//fin del foreach
    
          var LinqQuery = from l in lItems select l;
    
          String resumenDeCumpleañeros = "";
    
          foreach (var l in LinqQuery)
          {
    
            
            CultureInfo InvC = new CultureInfo("fr-FR");
    
            DateTime FechaActual = DateTime.Parse(l.GetFormattedValue("Fecha de nacimiento"), InvC);
            String nombre = l.GetFormattedValue("FirstName");
            String apellidos = l.GetFormattedValue("Title");
    
            if (FechaActual.Month.Equals(System.DateTime.Now.Month))
            {
              resumenDeCumpleañeros += nombre + " " + apellidos + "\n";
    
            }
    
    
    
          }//fin del foreach
    
          int diasdelmes = DateTime.DaysInMonth(System.DateTime.Now.Year, System.DateTime.Now.Month);
          SPListItem spListItem = splListAnuncios.Items.Add();
          spListItem["Title"] = "Feliz Cumpleaños";
          spListItem["Body"] = " les desea un Feliz Cumpleaños a: \n" + resumenDeCumpleañeros;
          spListItem["Expires"] = System.DateTime.Now.AddDays(diasdelmes - 1);
    
          spListItem.Update();
    
    

    martes, 26 de abril de 2011 23:42
  • Hola Esteban,

    ¿Has probado a depurar el job siguiendo los enlaces que te he pasado?

    Saludos!

    miércoles, 27 de abril de 2011 6:17
  • utilize los links que me diste, lo depure y me di cuenta que era una cuestion de permisos por lo que no me hacia nada, queria aprovechar para preguntarles como instalo el job en mi sevidor de produccion.

    gracias.

    miércoles, 27 de abril de 2011 16:54
  • Hola Esteban,

    El Timer Job lo estás empaquetando en un WSP y tiene la correspondiente Feature, entonces tendrás que añadir la solución al contenedor de soluciones de SharePoint, instalar la solución y luego activar la feature usando PowerShell o STSADM. Te paso un post explicativo:

    http://geeks.ms/blogs/ciin/archive/2011/03/25/sharepoint-2010-pasos-para-instalar-una-soluci-243-n.aspx

    Saludos!

    miércoles, 27 de abril de 2011 21:25