SharePoint Designer — Aktiviti Custom untuk melaksanakan pengguna ditakrifkan fungsi C #

UPDATE: Ini telah dikeluarkan kepada CodePlex sini: http://www.codeplex.com/spdwfextensions

UPDATE: Lihat di sini untuk nota keluaran terbaru: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

UPDATE: Lihat di sini untuk fikiran saya pada mengkomersilkan projek ini: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Projek ini menyediakan aktiviti yang adat dalam SharePoint Reka bentuk. Menggunakan aktiviti adat untuk memohon (penghantaran) mana-mana C# fungsi yang anda dimasukkan ke dalam Dewan yang berkaitan.

Sehingga akhir Oktober, 2007, ini adalah hanya versi awal projek. Saya bercadang untuk mengembangkan ia dengan beberapa fungsi tambahan, termasuk subrentetan, indeks, menggantikan, permulaan perkhidmatan web dan apa-apa yang seolah-olah berguna atau menarik. Saya juga bercadang untuk posting ini untuk codeplex sebaik sahaja saya mempunyai perbuatan saya bersama-sama itu dari sudut. Ini juga akan deployable sebagai penyelesaian pada satu masa nanti.

Jika anda mempunyai apa-apa komen, soalan atau cadangan, sila tinggalkan mereka dalam komen atau e-mel saya.

Penafian:

Saya membuat benar-benar tiada tuntutan untuk kesesuaian ini untuk sebarang tujuan. Gunakan risiko anda sendiri.

Langkah-langkah pemasangan (yang hendaklah diikuti bagi setiap WFE di ladang):

1. Muat turun fail. Zip dan keluarkan.

2. Memasang .dll itu ke dalam GAC dalam. Saya biasanya membuka c:\windows pemasangan menggunakan windows explorer dan tulis di sana.

3. Ubahsuai web.config untuk menambah pemasangan dengan kawalan keselamatan:

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

<authorizedType perhimpunan = "SpdGenericInterface, Versi = 1.0.0.0, Budaya = neutral, PublicKeyToken = abe076fd8125f3c4" Ruang nama "Nivlag =" TypeName = "*" Kuasa = "benar" />

4. Salinan "SpdGenericInterface.actions" kepada C:\Program Files Common Files Microsoft Shared sambungan pelayan web 12 TEMPLATE 1033 workflow

Perhatikan bahawa lokasi di atas adalah khusus untuk pemasangan bahasa inggeris.

5. Tutup SharePoint Designer (jika ia sudah membuka).

6. iisreset

7. Buka SPD dan mewujudkan aliran kerja baru.

Jika semua berjalan lancar, anda harus diberi ganjaran dengan kategori baru tindakan:

imej

Nota:

Lihat di sini (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) untuk gambaran hebat daripada proses untuk mewujudkan, memasang dan mengkonfigurasi penyelesaian seperti ini.

The. Zip direka untuk mengeluarkan terus kepada anda c:\ memandu. Jika anda lakukan ini, anda boleh membuka projek dan semua laluan akan konsisten.

Untuk menggunakan ini dalam visual studio, anda mungkin perlu memasang "Sambungan untuk WF Windows".

Gambar awal mengandungi hanya satu "fungsi dispatcher", "ToLower()". Untuk menambah lebih banyak fungsi, menambah kepada kaedah Melaksanakan seperti yang ditunjukkan:

 dilindungi mengatasi ActivityExecutionStatus
          Melaksanakan(ActivityExecutionContext executionContext)
        {

            rentetan functionToDispatch;
            functionToDispatch = ini.DispatchFunction.ToLower();

            menukar (functionToDispatch)
            {
                kes "tolower()":
                    {
                        ini.OutResult1 = ini.InParam1.ToLower();
                        memecahkan;
                    }

                lalai:
                    {
                        ini.OutResult1 = "Unknown fungsi: [" + ini.DispatchFunction + "].";
                        memecahkan;
                    }
            }

            kembali ActivityExecutionStatus.Ditutup;
        } // ActivityExecutionStatus

    }

Kemudian, membina semula projek dan Salin Dewan ke GAC dalam. Saya mengharapkan suatu iisreset akan diperlukan.

9 pemikiran untuk "SharePoint Designer — Aktiviti Custom untuk melaksanakan pengguna ditakrifkan fungsi C #

  1. Gerry Whitworth
    Saya mengikuti arahan Nya dan segala-galanya seolah-olah bekerja sehingga saya pilih tindakan dalam reka bentuk SP. Pereka bentuk pula paste kod di dalam aliran kerja. Saya menghantar lelaki ini e-mel dan saya rasa Dialah yang terlalu sibuk untuk memberi respons.
    Saya menyelesaikan masalah diri sendiri.
    Lepas tindakan dari "SpdGenericInterface.actions" kepada "WSS.actions" fail dan segala-galanya berjaya. Saya harap ini membantu orang lain.
    Balas
  2. Marco mancinelli
    hi semua,
    sesiapa sahaja boleh menjelaskan yang web.config fail saya perlu mengubah suai? sila jawab segera.
    Balas
  3. Marco mancinelli
    ia bunyi yang baik, tetapi saya tidak boleh memasang lanjutan =(
    con Designer saya melihatnya tetapi apabila saya klik pada apa-apa yang kelihatan… sila membantu… tnx.
    Balas
  4. Bernard Lambeth

    Saya menggunakan aktiviti adat untuk menggantikan() fungsi. Ladang ini SharePoint 2007, dengan beban seimbang web Penyambut-hujung. Saya mendapat kegagalan berselang seli untuk memulakan ralat, tetapi aliran kerja ini biasanya mula 5 – 15 min. Saya percaya kerja pemasa aliran dan aliran kerja Failover akan memulakan semula aliran kerja yang. Saya menyemak log SharePoint, dan akhirnya ditangkap ralat ini.

    RunWorkflow: Microsoft.SharePoint.SPException:
    pada Microsoft.SharePoint.Workflow.SPNoCodeXomlCompiler.LoadXomlAssembly(Tali assmNameIn, SPWeb web)
    pada Microsoft.SharePoint.Workflow.SPWinOeHostServices.CreateInstance(GUID trackingId, Aliran kerja SPWorkflow)
    pada Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(GUID trackingId, Tuan rumah SPWorkflowHostService, Aliran kerja SPWorkflow, Koleksi ' 1 peristiwa, Kitar masa tamat)
    pada Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(SPWorkflow originalWorkflow, Aliran kerja SPWorkflow, Koleksi ' 1 peristiwa, SPRunWorkflowOptions runOptions)

    Saya dapati rujukan kepada ralat ini di lain blog, http://www.kentd.com/index.php/all-blog/218-nivlag-and-spdgenericinterface. Penulis menyatakan dia menggunakan actitivity adat gantikan(), serta. Pernahkah anda melihat ralat ini? Adakah anda mempunyai sebarang cadangan tentang bagaimana untuk menyelesaikannya?

    Balas
    1. Paul Galvin Post pengarang

      Maaf saya tidak memberikan respon. Pada titik di thi, Ianya mungkin dapat dipersoalkan berkenaan. Saya berharap anda dapat menyelesaikannya.

      Balas

Tinggalkan Jawapan kepada Marco mancinelli Batal reply

alamat e-mel anda tidak akan diterbitkan. Ruangan yang diperlukan ditanda *