Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server — Только
Управляемый экземпляр SQL Azure Windows
Это важно
Службы Master Data Services (MDS) удалены в предварительной версии SQL Server 2025 (17.x). Мы продолжаем поддерживать MDS в SQL Server 2022 (16.x) и более ранних версиях.
При создании пользовательской библиотеки классов рабочих процессов при создании библиотеки классов master Data Services создается класс, реализующий интерфейс Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender. Этот интерфейс включает один метод Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow * , который вызывается службой интеграции рабочих процессов MDS SQL Server при запуске рабочего процесса. Метод Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow* содержит два параметра: workflowType содержит текст, введенный в текстовое поле типа рабочего процесса в Master Data Manager, а dataElement содержит метаданные и данные элемента для элемента, активировающего бизнес-правило рабочего процесса.
Пример пользовательского рабочего процесса
В следующем примере кода показано, как реализовать метод Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow* для извлечения атрибутов Name, Code и LastChgUserName из XML-данных для элемента, активировавшего бизнес-правило рабочего процесса, и как вызвать хранимую процедуру, чтобы вставить их в другую базу данных. Пример XML-кода данных элемента и объяснение тегов, содержащихся в нем, см. в описании пользовательского XML рабочего процесса (службы 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
}
}
См. также
Создание настраиваемого рабочего процесса (службы Master Data Services)