Domanda

Ho una SPJobDefinition (WSS) che corre ogni ora. Basato su alcuni valori e, se soddisfatti, aggiunge un elemento all'elenco dei calendari. Questa lista del calendario ha un ricevitore di eventi collegato all'evento dettagliato.

Quando il lavoro attiva e aggiunge l'elemento, parti del codice esegue. Quello che voglio dire è che non scriverà all'eventlog e sembra avere problemi a leggere dal file web.config.

Se aggiungo manualmente un elemento all'elenco dei calendari, usando le mie credenziali, tutto funziona bene. Cioè, ho eventi nell'eventlog e gli articoli vengono letti dal file web.config.

Posso vedere dove si aggiunge l'account di sistema nell'elemento nell'elenco del calendario. Ho provato ad aggiungere un account di sistema ai gruppi con il pieno controllo e sto ancora avendo un problema.

C'è qualcos'altro che devo guardare per far funzionare questo? Ho controllato l'utente della piscina ed è un servizio di rete; Da quando sono aggiunto anche al gruppo.

Non sono sicuro che altro da guardare.

Grazie

Aggiornato (questo è il codice che uso da scrivere su Eventlog)

try
{
  System.Security.Principal.WindowsImpersonationContext wic = System.Security.Principal.WindowsIdentity.Impersonate(IntPtr.Zero);
  EventLog.WriteEntry(source, message, type);
  wic.Undo();
}
catch (Exception)
{
}
.

È stato utile?

Soluzione

Scrivere all'eventLog potrebbe essere dovuto alle autorizzazioni di Windows mancanti.

Il lavoro del timer viene eseguito in un servizio Windows che non ha un web.config.Un ricevitore evento viene eseguito in qualsiasi processo causando l'evento.Quindi, se si tenta di leggere il web.config del processo corrente, fallirà.

Se si tenta di raggiungere il file system per leggere il Web.config, potrebbe essere nuovamente le autorizzazioni di Windows.

Aggiunta di utenti a SharePoint Groups non può aiutarti ad accedere a EventLog o file, questi sono oggetti Windows non oggetti SharePoint.

Quando si esegue da un lavoro timer, il Impersonate(IntPtr.Zero); non sta cambiando nulla.Impersona il conto del processo che è già quello in esecuzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top