Aracılığıyla paylaş


Özel İş Akışı Oluşturma - Örnek

Şunlar için geçerlidir:Windows Azure SQL Yönetilen Örneği üzerinde SQLServer

Önemli

Sql Server 2025'te (17.x) Ana Veri Hizmetleri (MDS) kaldırıldı . SQL Server 2022 (16.x) ve önceki sürümlerde MDS'yi desteklemeye devam ediyoruz.

Ana Veri Hizmetleri'nde, özel bir iş akışı sınıf kitaplığı oluşturduğunuzda, Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender arabirimini uygulayan bir sınıf oluşturursunuz. Bu arabirim, bir iş akışı başlatıldığında SQL Server MDS İş Akışı Tümleştirme Hizmeti tarafından çağrılan microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow* yöntemini içerir. Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow* yöntemi iki parametre içerir: workflowType, Ana Veri Yöneticisi'ndeki İş Akışı türü metin kutusuna girdiğiniz metni içerir ve dataElement, iş akışı iş kuralını tetikleyen öğenin meta verilerini ve öğe verilerini içerir.

Özel İş Akışı Örneği

Aşağıdaki kod örneği, iş akışı iş kuralını tetikleyen öğenin XML verilerinden Name, Code ve LastChgUserName özniteliklerini ayıklamak için Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow* yöntemini nasıl uygulayabileceğinizi ve bunları başka bir veritabanına eklemek için saklı yordamı nasıl çağırabileceğinizi gösterir. Öğe verileri XML'i örneği ve içerdiği etiketlerin açıklaması için bkz. Özel İş Akışı XML Açıklaması (Ana Veri Hizmetleri).

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  
    }  
}  

Ayrıca Bkz.

Özel İş Akışı Oluşturma (Ana Veri Hizmetleri)