다음을 통해 공유


사용자 지정 워크플로 만들기 - 예제

적용 대상:Windows Azure SQL Managed InstanceSQL Server

중요합니다

MDS(Master Data Services)는 SQL Server 2025(17.x)에서 제거됩니다 . SQL Server 2022(16.x) 및 이전 버전에서 MDS를 계속 지원합니다.

MDS(Master Data Services) 사용자 지정 워크플로 클래스 라이브러리를 만들 때 Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender 인터페이스를 구현하는 클래스를 만듭니다. 이 인터페이스에는 워크플로가 시작될 때 SQL Server MDS 워크플로 통합 서비스에서 호출하는 하나의 메서드인 Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow* 가 포함됩니다. Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow* 메서드에는 두 개의 매개 변수가 포함됩니다. workflowType에는 Master Data Manager의 워크플로 유형 텍스트 상자에 입력한 텍스트가 포함되고 dataElement에는 워크플로 비즈니스 규칙을 트리거한 항목에 대한 메타데이터 및 항목 데이터가 포함됩니다.

사용자 지정 워크플로 예제

다음 코드 예제에서는 Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow* 메서드를 구현하여 워크플로 비즈니스 규칙을 트리거한 요소의 XML 데이터에서 이름, 코드 및 LastChgUserName 특성을 추출하는 방법과 저장 프로시저를 호출하여 다른 데이터베이스에 삽입하는 방법을 보여 줍니다. 항목 데이터 XML의 예와 포함된 태그에 대한 설명은 사용자 지정 워크플로 XML 설명(MDS(Master Data Services))을 참조하세요.

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.IO;  
using System.Data.SqlClient;  
using System.Xml;  
  
using Microsoft.MasterDataServices.Core.Workflow;  
  
namespace MDSWorkflowTestLib  
{  
    public class WorkflowTester : IWorkflowTypeExtender  
    {  
        #region IWorkflowTypeExtender Members  
  
        public void StartWorkflow(string workflowType, System.Xml.XmlElement dataElement)  
        {  
            // Extract the attributes we want out of the element data.  
            XmlNode NameNode = dataElement.SelectSingleNode("./MemberData/Name");  
            XmlNode CodeNode = dataElement.SelectSingleNode("./MemberData/Code");  
            XmlNode EnteringUserNode = dataElement.SelectSingleNode("./MemberData/LastChgUserName");  
  
            // Open a connection on the workflow database.  
            SqlConnection workflowConn = new SqlConnection(@"Data Source=<Server instance>; Initial Catalog=WorkflowTest; Integrated Security=True");  
  
            // Create a command to call the stored procedure that adds a new user to the workflow database.  
            SqlCommand addCustomerCommand = new SqlCommand("AddNewCustomer", workflowConn);  
            addCustomerCommand.CommandType = System.Data.CommandType.StoredProcedure;  
            addCustomerCommand.Parameters.Add(new SqlParameter("@Name", NameNode.InnerText));  
            addCustomerCommand.Parameters.Add(new SqlParameter("@Code", CodeNode.InnerText));  
            addCustomerCommand.Parameters.Add(new SqlParameter("@EnteringUser", EnteringUserNode.InnerText));  
  
            // Execute the command.  
            workflowConn.Open();  
            addCustomerCommand.ExecuteNonQuery();  
            workflowConn.Close();  
        }  
  
        #endregion  
    }  
}  

참고 항목

사용자 지정 워크플로 만들기(MDS(Master Data Services))