SharePoint Designer — 사용자 정의 C# 함수를 실행 하는 사용자 지정 활동

업데이트: 이 여기 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 Designer에서 사용자 지정 활동을 제공 한다.. 이 사용자 지정 활동을 사용 하 여 호출 (디스패치) 모든 C# 함수 연결 된 어셈블리에 통합.

10 월 하순 월, 2007, 이것은 단지 프로젝트의 초기 버전. 추가 기능으로 그것을 확장 계획, 부분 문자열을 포함 하 여, 인덱스, 바꾸기, 호출 하는 웹 서비스 및 유용 하거나 재미 있는 것 같다 하는 것. 나는 또한 내가 그 앞에 함께 내 행동을가지고 일단 codeplex에이 게시물에 계획. 이것은 또한 어떤 시점에 솔루션으로 배포 될.

만약 당신이 어떤 의견, 질문 또는 제안, 제발 의견에 그들을 남길 또는 내 이메일.

면책 조항:

난 절대적으로 어떤 목적에 대 한이의 적 부에 관해서는 아무 주장 하 게. 자신의 위험에 사용.

설치 단계 (팜의 WFE 각에 따라):

1. .Zip 다운로드 및 추출.

2. GAC에.dll을 설치. 보통 c 열:\windows 탐색기를 사용 하 여 복사 하는 windowsassembly it 거기.

3. 안전 컨트롤에 어셈블리를 추가 하려면 web.config를 수정:

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

<authorizedType 어셈블리 "SpdGenericInterface =, 버전 1.0.0.0 =, 문화 = 중립, PublicKeyToken = abe076fd8125f3c4" Namespace "Nivlag =" TypeName = "*" 공인 = "True" />

4. "Spdgenericinterface.actions을 복사" C를:\프로그램 FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Note 위의 위치는 특정 영어 언어 설치.

5. SharePoint 디자이너를 닫습니다 (그것은 이미 열려 있는 경우).

6. iisreset

7. SPD를 열고 새 워크플로 만들기.

다 잘만 된다면, 당신은 행동의 새로운 범주와 보상 해야:

이미지

노트:

참조 여기 (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) 에 대 한 훌륭한 만들기 위한 프로세스 개요, 설치 하 고이 같은 솔루션 구성.

.Zip c 당신에 게 직접 추출 하도록 설계 되었습니다.:\ 드라이브. 이렇게 하면, 프로젝트를 열 수 및 모든 경로 일관 될 것입니다..

Visual studio에서이 사용 하려면, 아마 설치 해야 "Windows WF에 대 한 확장".

초기 업로드 함수가 단지 하나의 "발송자", "ToLower()". 더 많은 기능을 추가 하려면, 와 같이 Execute 메서드에 추가:

 보호 재정의 ActivityExecutionStatus
          실행(ActivityExecutionContext executionContext)
        {

            문자열 functionToDispatch;
            functionToDispatch = .DispatchFunction.ToLower();

            스위치 (functionToDispatch)
            {
                케이스 "tolower()":
                    {
                        .OutResult1 = .InParam1.ToLower();
                        휴식;
                    }

                기본:
                    {
                        .OutResult1 = "알 수 없는 함수: [" + .DispatchFunction + "].";
                        휴식;
                    }
            }

            반환 ActivityExecutionStatus.폐쇄;
        } // ActivityExecutionStatus

    }

다음, 프로젝트를 다시 구축 하 고 GAC에 어셈블리를 복사. Iisreset를 필요한 것으로 기대.

9 "에 대한 생각SharePoint Designer — 사용자 정의 C# 함수를 실행 하는 사용자 지정 활동

  1. 제리 위트 워스
    내가 그의 지시를 따라 하 고 모든 SP 디자이너에서 작업을 선택할 때까지 작동 하는 듯. 디자이너 워크플로 코드 붙여넣기 하지 않았다. 내가이 사람에 게 이메일을 보내와 나는 그가 너무 바쁜 응답.
    문제를 스스로 해결.
    과거 "Spdgenericinterface.actions에서 작업" "wss.actions에" 파일 및 그것은 모든 일. 난이 다른 사람을 도움이 되기를 바랍니다..
    회신
  2. 마르코 자동차
    모두 안녕하세요,
    누구 든 지 수정 해야 하는 web.config 파일을 설명할 수 있습니다.? 빨리 응답 하십시오.
    회신
  3. 마르코 자동차
    좋은 소리, 하지만 확장을 설치할 수 없습니다 =(
    내 디자이너 콘 볼 하지만 때 그것을 클릭 아무것도 표시… 도와 주세요… tnx.
    회신
  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 이벤트, TimeSpan 시간 제한)
    Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev에서(SPWorkflow originalWorkflow, SPWorkflow 워크플로, 컬렉션 ' 1 이벤트, SPRunWorkflowOptions runOptions)

    다른 블로그에이 오류에 대 한 참조를 발견, http://www.kentd.com/index.php/all-blog/218-nivlag-and-spdgenericinterface. 저자는 그 사용자 지정 actitivity 바꾸기를 사용 하 여 표시(), 뿐만 아니라. 당신이이 오류를 본 적 있어? 그것을 해결 하는 방법에 어떤 방법이 있나요?

    회신
    1. 폴 Galvin 포스트 저자

      미안 나도 없지. 티의 시점에서, 그것은 아마도 논쟁 중. 당신이 그것을 해결할 수 있었다 희망.

      회신

회신을 남겨 주세요 랜디 답장 취소

귀하의 이메일 주소는 공개되지 않습니다. 필요 입력 사항은 표시되어 있습니다 *