Domanda

Ho un flusso di lavoro personalizzato implementazione ciò richiede updation di un DB esterno. Ho creato un semplice flusso di lavoro per fini di testo e ho trovato una cosa strana!

il mio Db codice di aggiornamento / inserto è posto in un'attività del codice del flusso di lavoro. sembra che l'attività codice viene eseguito più volte quando il flusso di lavoro viene richiamato su un semplice elemento della lista in elenco personalizzato di SharePoint. Ecco il mio flusso di lavoro:

workflow-image

e il mio codice è:

 private void onWorkflowActivated1_Invoked(object sender, ExternalDataEventArgs e)
{
    workflowProperties.Item["Title"] = "Processed by workflow at "+ DateTime.Now;
    workflowProperties.Item.Update();      

}

private void codeActivity1_ExecuteCode(object sender, EventArgs e)
{
    Random rnd = new Random();

    string conStr = "Data Source=192.168.1.57\\TRIBIRD;Initial Catalog=XXXXXX;User ID=XXXXXX;Password=XXXXXXXXXX";
    SqlConnection connection = new SqlConnection(conStr);
    SqlCommand command = connection.CreateCommand();
    command.CommandType = System.Data.CommandType.Text;
    command.CommandText = "INSERT INTO XXXX VALUES(" + rnd.Next() + ",'THE CONTENT FROM SHAREPOINT WORKFLOW','EN',1,1,'BRT')";

    connection.Open();
    command.ExecuteNonQuery();
    command.Dispose();
    connection.Close();
}

nel DB ottengo più di 1 riga per l'esecuzione del flusso di lavoro! cosa interessante è, durante ogni esecuzione, il numero di righe varia aggiunto.

Perché succede questo? qual è il mio errore?
Tutte le idee e suggerimenti sono i benvenuti.

È stato utile?

Soluzione

Assicurati si sta eseguendo le ultime patch e aggiornamenti per SharePoint.

Le versioni precedenti nel 2007 permetterebbero ciclici auto-trigger (ad esempio ri-trigger). Le versioni successive non lo fanno (ma consentono ancora trigger co-ciclici). Ho il sospetto che questo è il problema e una "cascata" sta iniziando con il metodo Update. Solo un'intuizione.

Questo dovrebbe essere fissato in SP2: service pack 2 impedisce un flusso di lavoro on-cambiamento avvio sé

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top