SharePoint Designer — กิจกรรมที่กำหนดเองดำเนินการ C# ฟังก์ชันผู้ใช้กำหนดเอง

โปรแกรมปรับปรุง: ออกนี้ใช้ CodePlex นี่: http://www.codeplex.com/spdwfextensions

โปรแกรมปรับปรุง: ดูที่นี่สำหรับเวอร์ชั่นล่าสุด: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

โปรแกรมปรับปรุง: ดูที่นี่สำหรับความคิดของฉันใน commercializing โครงการนี้: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

โครงการนี้มีกิจกรรมแบบกำหนดเองใน SharePoint Designer. ใช้กิจกรรมนี้กำหนดเองเพื่อเรียก (จัดส่ง) มี C# ฟังก์ชันที่คุณรวมอยู่ในแอสเซมบลีที่เชื่อมโยง.

ณ ปลายเดือนตุลาคม, 2007, นี้เป็นเพียงรุ่นเริ่มต้นของโครงการ. ฉันวางแผนจะขยายด้วยการเพิ่มเติม, รวมด้วย, ดัชนี, แทน, เรียกบริการเว็บและสิ่งที่ดูเหมือนว่ามีประโยชน์ หรือน่าสนใจ. ฉันวางแผนการลงรายการบัญชีนี้ codeplex เมื่อมีพระราชบัญญัติของฉันร่วมกันการ. นี้ยังจะ deployable เป็นการแก้ไขในบางจุด.

ถ้าคุณมีข้อคิดเห็น, คำถามหรือคำแนะนำ, กรุณาทิ้งไว้ในความเห็น หรือส่ง.

การปฏิเสธ:

ทำการอย่างไม่เรียกร้องตามความเหมาะสมนี้เพื่อวัตถุประสงค์ใด ๆ. ใช้เสี่ยงของคุณเอง.

ขั้นตอนการติดตั้ง (จะต้องปฏิบัติตามสำหรับแต่ละ WFE ในฟาร์ม):

1. .Zip ดาวน์โหลด และแยก.

2. ติดตั้ง.dll ลงใน GAC การ. ปกติเปิด c:\ใช้ windows explorer และสำเนา windowsassembly มันมี.

3. ปรับเปลี่ยน web.config เพิ่มแอสเซมบลีตัวควบคุมปลอดภัย:

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

<authorizedType แอสเซมบลี = "SpdGenericInterface, รุ่น = 1.0.0.0, วัฒนธรรม =เป็นกลาง, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = " *" อำนาจ = "True" />

4. คัดลอก "SpdGenericInterface.actions" ถึง C:\Extensions12TEMPLATE1033Workflow เซิร์ฟเวอร์ FilesCommon FilesMicrosoft Sharedweb โปรแกรม

โปรดทราบว่า สถานที่ดังกล่าวเฉพาะการติดตั้งภาษาอังกฤษ.

5. ปิด SharePoint Designer (ถ้ามันมีอยู่แล้ว).

6. iisreset

7. เปิด SPD และสร้างลำดับงานใหม่.

ถ้าทั้งหมดไปด้วย, คุณควรได้รับรางวัลประเภทใหม่ของการดำเนินการ:

รูปภาพ

หมายเหตุ:

ดู ที่นี่ (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) ภาพรวมที่ยอดเยี่ยมสำหรับการสร้างการ, ติดตั้ง และตั้งค่าคอนฟิกโซลูชันนี้.

.Zip ถูกออกแบบมาเพื่อดึงข้อมูลโดยตรงกับคุณ c:\ ขับรถ. ถ้าคุณทำเช่นนี้, คุณสามารถเปิดโครงการ และเส้นทางทั้งหมดจะสอดคล้องกัน.

ใช้ปุ่มนี้ในสตูดิโอภาพ, คุณอาจต้องติดตั้ง "ดับเบิลยูส่วนขยายสำหรับ Windows เอฟ".

อัปโหลดเริ่มต้นประกอบด้วยเพียง "ผู้"ฟังก์ชัน, "ToLower()". เพิ่มการทำงานมากขึ้น, เพิ่มวิธีดำเนินการดัง:

 ได้รับการป้องกัน การแทน ActivityExecutionStatus
          ดำเนินการ(ActivityExecutionContext executionContext)
        {

            สายอักขระ functionToDispatch;
            functionToDispatch = นี้.DispatchFunction.ToLower();

            สลับ (functionToDispatch)
            {
                กรณี "tolower()":
                    {
                        นี้.OutResult1 = นี้.InParam1.ToLower();
                        แบ่ง;
                    }

                ค่าเริ่มต้น:
                    {
                        นี้.OutResult1 = "ฟังก์ชันที่ไม่รู้จัก: [" + นี้.DispatchFunction + "].";
                        แบ่ง;
                    }
            }

            เที่ยวกลับ ActivityExecutionStatus.ปิด;
        } // ActivityExecutionStatus

    }

แล้ว, สร้างโครงการใหม่ และคัดลอกแอสเซมบลีใน GAC. ต้องการ iisreset จะต้อง.

9 คิดเกี่ยวกับ“SharePoint Designer — กิจกรรมที่กำหนดเองดำเนินการ C# ฟังก์ชันผู้ใช้กำหนดเอง

  1. เจอร์รี่ Whitworth
    ฉันตามทิศทางของเขา และทุกอย่างดูเหมือนจะทำงานจนกว่าจะเลือกการกระทำในตัวออกแบบ SP. แบบไม่ได้วางรหัสในลำดับ. ฉันรับผู้ชายคนนี้ และผมคิดว่า เขาจะไม่ตอบสนอง.
    ฉันแก้ไขปัญหาเอง.
    การดำเนินการจาก "SpdGenericInterface.actions ที่ผ่านมา" เป็น "WSS.actions" แฟ้มและทุกอย่างทำงาน. ฉันหวังว่า นี้ช่วยผู้อื่น.
  2. มาร์โค mancinelli
    เสียงดี, แต่ฉันไม่สามารถติดตั้งส่วนขยาย =(
    ตัวออกแบบของฉันคอนดูมันแต่เมื่อฉันคลิกที่มันไม่มีอะไรปรากฏ… กรุณาช่วย… tnx.
  3. ไมค์ Mongeau

    แน่นอนเสียงเหมือนความคิดที่ดี. ฉันชอบที่จะเกี่ยวข้องกับการใช้งานและทดสอบฟังก์ชัน. มันเป็นความจริงว่า ฟังก์ชันสายอักขระจะถูกจำกัดใน SPD, แต่ตัวสร้างสายอักขระแบบไดนามิก"" มีสวยมีประสิทธิภาพ.

    <การ href ="http://dataformwebpart.com">-Monjo </การ>

  4. Bernard แลมเบ็ธ

    ผมใช้กิจกรรมนี้เองแทนที่() ฟังก์ชัน. ฟาร์มเป็น SharePoint 2007, ด้วยการสร้างความสมดุลในการโหลดเว็บหน้าจบ. ฉันได้รับความล้มเหลวที่ไม่ต่อเนื่องเริ่มต้นข้อผิดพลาด, แต่ลำดับมักจะเริ่มใน 5 – 15 นาที. ผมเชื่อว่า งานจับลำดับงานและเวิร์กโฟลว์ล้มจะเริ่มลำดับงาน. ผมตรวจทานล็อก SharePoint, และสุดท้าย จับข้อผิดพลาดนี้.

    RunWorkflow: Microsoft.SharePoint.SPException:
    ที่ Microsoft.SharePoint.Workflow.SPNoCodeXomlCompiler.LoadXomlAssembly(สตริ assmNameIn, เว็บ SPWeb)
    ที่ Microsoft.SharePoint.Workflow.SPWinOeHostServices.CreateInstance(Guid trackingId, SPWorkflow ลำดับ)
    ที่ Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(Guid trackingId, โฮสต์ SPWorkflowHostService, SPWorkflow ลำดับ, คอลเลกชัน ' 1 เหตุการณ์, ระยะเวลาหมดเวลา)
    ที่ Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(SPWorkflow originalWorkflow, SPWorkflow ลำดับ, คอลเลกชัน ' 1 เหตุการณ์, SPRunWorkflowOptions runOptions)

    พบการอ้างอิงถึงข้อผิดพลาดนี้ในบล็อกอื่น, http://www.kentd.com/index.php/all-blog/218-nivlag-and-spdgenericinterface. ระบุผู้เขียนเขาใช้ actitivity แบบกำหนดเองแทน(), เป็นอย่างดี. คุณได้เห็นข้อผิดพลาดนี้? มีคำแนะนำใด ๆ เกี่ยวกับวิธีการแก้ไขไหม?

ทิ้งคำตอบไว้

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่. ช่องที่ต้องการถูกทำเครื่องหมาย *