SharePoint Designer — Activitate particularizată să execute funcţii definite de utilizator C#

ACTUALIZARE: Acest lucru a fost lansat la CodePlex aici: http://www.codeplex.com/spdwfextensions

ACTUALIZARE: A se vedea aici pentru cele mai recente note de lansare: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

ACTUALIZARE: A se vedea aici pentru gândurile mele pe comercializarea acestui proiect: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Acest proiect prevede o activitate particularizată în SharePoint Designer. Utilizați această activitate personalizate pentru a invoca (expediere) orice funcţie C# pe care aţi încorporat în Adunarea legate.

La sfârşitul lunii octombrie, 2007, Aceasta este doar o versiune iniţială a proiectului. Am de gând să se extindă cu o serie de funcţii suplimentare, inclusiv un subșir, Indicele, înlocui, invocarea servicii web şi orice altceva care pare utile sau interesante. Am, de asemenea, de gând să acest post la codeplex, odată ce am Actul meu împreună pe acest front. Acest lucru va fi, de asemenea, dislocabile ca o soluţie la un moment dat.

Dacă aveţi orice Comentarii, întrebări sau sugestii, vă rugăm să lăsaţi-le în comentarii sau e-mail-mă.

Exonerare de răspundere:

Face absolut nici o pretenţie referitoare la eligibilitatea acestea pentru orice scop. Utilizaţi propriul risc.

Paşii de instalare (de urmat pentru fiecare WFE în fermă):

1. .zip şi supliment.

2. Instalaţi .dll în GAC. De obicei, deschide c:\windowsassembly utilizând windows explorer şi copie it acolo.

3. Modifica web.config pentru a adăuga Adunarea la controalele în condiţii de siguranţă:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType montaj = "SpdGenericInterface, Versiunea = 1.0.0.0, Cultură = neutră, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Autorizat = "True" />

4. Copie "SpdGenericInterface.actions" c:\Programul FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Reţineţi că locația de mai sus este specific pentru instalatii de limba engleză.

5. Închide SharePoint Designer (dacă acesta este deja deschis).

6. iisreset

7. Deschide SPD şi de a crea un nou flux de lucru.

Dacă totul merge bine, tu ar trebui să fi recompensat cu o nouă categorie de acţiune:

imagine

Note:

A se vedea aici (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) pentru o imagine de ansamblu teribil de proces pentru a crea, instalarea şi configurarea o soluţie ca acest lucru.

.zip este conceput pentru a extrage direct la tine c:\ unitate. În acest caz, aveţi posibilitatea să deschideţi proiectul şi toate căile va fi consecvent.

Pentru a utiliza aceasta în visual studio, tu probably nevoie la spre a instala "Extensii pentru Windows WF".

Iniţială de încărcare conţine doar o "funcţie de dispecer", "ToLower()". Pentru a adăuga mai multe funcţionalităţi, adăugaţi-l la metoda Execute ca:

 protejate suprascrie ActivityExecutionStatus
          Executa(ActivityExecutionContext executionContext)
        {

            şir functionToDispatch;
            functionToDispatch = Acest lucru.DispatchFunction.ToLower();

            comutator (functionToDispatch)
            {
                caz "tolower()":
                    {
                        Acest lucru.OutResult1 = Acest lucru.InParam1.ToLower();
                        pauză;
                    }

                în mod implicit:
                    {
                        Acest lucru.OutResult1 = "Funcţie necunoscut: [" + Acest lucru.DispatchFunction + "].";
                        pauză;
                    }
            }

            reveni ActivityExecutionStatus.Închis;
        } // ActivityExecutionStatus

    }

Apoi, re-construi proiectul şi copia Adunarea GAC. Mă aştept un iisreset ar fi necesare.

9 gânduri pe "SharePoint Designer — Activitate particularizată să execute funcţii definite de utilizator C#

  1. Gerry Whitworth
    Am urmat instrucţiunile lui şi totul părea să lucreze până când alege acţiunea în Designer de SP. Proiectantul nu inseraţi codul în fluxul de lucru. Am trimis acest tip un e-mail şi cred că el este prea ocupat pentru a răspunde.
    Am rezolvat problema eu.
    Trecut de acţiuni de la "SpdGenericInterface.actions" în "WSS.actions" fişier şi totul a mers. Sper că acest lucru ajută pe alţii.
    Răspuns
  2. Marco mancinelli
    salutare tuturor,
    poate cineva explica ce fișier web.config trebuie să modificaţi? vă rugăm să răspundeţi în curând.
    Răspuns
  3. Marco mancinelli
    sună bine, dar eu nu pot instala extinderea =(
    Designer de meu con vedea aceasta, dar când dau click pe ea nimic nu apar… vă rugăm să ajute… tnx.
    Răspuns
  4. Bernard Lambeth

    Sunt folosind această activitate particularizată pentru a înlocui() funcţia. Ferma este SharePoint 2007, cu sarcina-echilibrat web interfeţele. Eu sînt achiziþie intermitentă eşec pentru a începe erori, dar fluxuri de lucru, de obicei, reporniţi în 5 – 15 min. Cred că cronometrare Flux de lucru şi fluxul de lucru Failover sunt repornirea fluxuri de lucru. Am revizuit jurnalele SharePoint, şi în cele din urmă prins această eroare.

    RunWorkflow: Microsoft.SharePoint.SPException:
    la Microsoft.SharePoint.Workflow.SPNoCodeXomlCompiler.LoadXomlAssembly(Șir assmNameIn, SPWeb web)
    la Microsoft.SharePoint.Workflow.SPWinOeHostServices.CreateInstance(GUID-ul trackingId, Flux de lucru SPWorkflow)
    la Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(GUID-ul trackingId, SPWorkflowHostService gazdă, Flux de lucru SPWorkflow, Colectia 1 evenimente, TimeSpan timeOut)
    la Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(SPWorkflow originalWorkflow, Flux de lucru SPWorkflow, Colectia 1 evenimente, SPRunWorkflowOptions runOptions)

    Am gasit o referire la această eroare pe un alt blog, http://www.kentd.com/index.php/all-blog/218-nivlag-and-spdgenericinterface. Autorul indică el a fost folosind actitivity personalizat înlocuire(), precum şi. Ai văzut această eroare? Ai orice sugestii despre cum să o rezolve?

    Răspuns
    1. Paul Galvin Mesaj autor

      Ne pare rau, mi au răspuns niciodată. La punctul thi pe, Acesta este, probabil, discutabil. Sper că aţi fost capabil să-l rezolve.

      Răspuns

Lasă un răspuns la Marco mancinelli Anuleaza raspunsul

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate *