更新: 這在這裡已發放到 CodePlex: http://www.codeplex.com/spdwfextensions
更新: 在這裡看到的最新版本說明: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry
更新: 在這裡看到的商業化這一專案的思考: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry
這個專案提供了在 SharePoint 設計器中的自訂活動. 使用此自訂活動調用 (調度) 你納入連結程式集任何 C# 函數.
從 10 月下旬起, 2007, 這只是專案的初始版本. 我打算擴大它與大量的附加功能, 包括的子字串, 索引, 替換, 調用 web 服務和任何看上去有用或有趣的東西. 我還打算把它張貼到 codeplex 一旦我對我的行為在一起那前面. 這也將是作為一種解決方案在某些點部署.
如果您有任何意見, 問題或建議, 請在評論中留下他們或電子郵件通知我.
免責聲明:
我讓絕對沒有要求以這為任何目的的適用性. 使用您自擔風險.
安裝步驟 (為伺服器場中的每個 WFE 遵循):
1. 下載.zip 和提取.
2. 到 gac 中安裝.DLL 檔案. 我通常打開 c:\windowsassembly 使用 windows 資源管理器和複製它那裡.
3. 修改 web.config 要將程式集添加到安全控制項:
<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes><大會 authorizedType ="SpdGenericInterface, 版本 = 1.0.0.0, 文化 = 中性, Publickeytoken) = abe076fd8125f3c4" Namespace ="Nivlag" TypeName ="*" 授權 ="True" />
4. 複製"SpdGenericInterface.actions" 到 C:\程式必須使用 Sharedweb 伺服器 extensions12TEMPLATE1033Workflow
請注意上述地點是特定于英語語言安裝.
5. 關閉 SharePoint 設計器 (如果已經打開).
6. iisreset
7. 打開 SPD 並創建新的工作流.
如果一切進展順利, 你應該得到的報酬與一類新的行動:
備註:
請參閱 在這裡 (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) 對於創建的過程很棒概述, 安裝和配置一個像這樣的解決方案.
.Zip 旨在直接向您提取:\ 磁碟機. 如果你這樣做, 您可以打開該專案和所有路徑都將保持一致.
在 visual studio 中使用此, 您可能需要安裝"Windows WF 為擴展".
初始上載包含只是一個"調度程式功能", "ToLower()". 若要添加更多的功能, 將它添加到的 Execute 方法,如圖所示:
受保護 重寫 ActivityExecutionStatus 執行(ActivityExecutionCoNtext executionCoNtext) { 字串 functionToDispatch; functionToDispatch = 這.DispatchFunction.ToLower(); 開關 (functionToDispatch) { 案例 "tolower()": { 這.OutResult1 = 這.InParam1.ToLower(); 休息; } 預設: { 這.OutResult1 = "未知的函數: [" + 這.DispatchFunction + "]."; 休息; } } 返回 ActivityExecutionStatus.關閉; } // ActivityExecutionStatus }
然後, 重新生成專案並將程式集複製到 gac 中. 我期望 iisreset 將需要.
我的設計師 con 看到它,但當我點擊它什麼都不顯示… 請説明… tnx.
絕對聽起來像個好主意. 我很樂意參與用法和功能的測試. 這是真的有限 SPD 中的字串函數, 但"動態字串產生器" 非常強大.
<href ="http://dataformwebpart.com">-Monjo </一>
我使用的替換此自訂活動() 功能. 該農場是 SharePoint 2007, 與負載平衡 web 前端. 我正在啟動錯誤的間歇性故障, 但在通常重新開機工作流 5 – 15 民. 我相信計時器作業的工作流和工作流容錯移轉重新開機工作流. 我回顧了 SharePoint 日誌, 最後抓到此錯誤.
RunWorkflow: Microsoft.SharePoint.SPException:
在 Microsoft.SharePoint.Workflow.SPNoCodeXomlCompiler.LoadXomlAssembly(字串 assmNameIn, SPWeb web)
在 Microsoft.SharePoint.Workflow.SPWinOeHostServices.CreateInstance(Guid trackingId, SPWorkflow 工作流)
在 Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(Guid trackingId, SPWorkflowHostService 主機, SPWorkflow 工作流, 1 收集事件, TimeSpan 超時)
在 Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(SPWorkflow originalWorkflow, SPWorkflow 工作流, 1 收集事件, SPRunWorkflowOptions runOptions)
我在另一篇博客上找到此錯誤的引用, http://www.kentd.com/index.php/all-blog/218-nivlag-and-spdgenericinterface. 撰文人表示他在用自訂少不了替換(), 以及. 你看過此錯誤嗎? 如何解決這個問題的任何建議嗎?
對不起,我永遠不會回答. 在 thi 的點, 它是可能沒有實際意義. 希望你能夠解決它.