Как вызвать метод C # с помощью SQL Server Service Broker из хранимой процедуры без использования SqlDependency? - PullRequest
0 голосов
/ 15 февраля 2019

Я хочу вызвать метод C #, когда я вставляю новую запись в таблицу и вставляю xml в очередь компонента Service Broker из хранимой процедуры.Я могу выполнить это с помощью SqlDependency, но мне это не нужно - я хочу выполнить это с помощью хранимой процедуры.

Вы можете увидеть мой код, используя SqlDependecy.Но я хочу еще один способ вызова метода C # из хранимой процедуры с использованием SQL Server Service Broker (не DB в DB).

public void Notification()
{
    using (var connection = new SqlConnection(connectionString))
    {
        connection.Open();

        var queryString = "SELECT [ID] FROM [dbo].[Message]";

        using (var oCommand = new SqlCommand(queryString, connection))
        {
            // Starting the listener infrastructure...
            SqlDependency.Stop(connectionString, "queueName");
            SqlDependency.Start(connectionString, "queueName");

            var oDependency = new SqlDependency(oCommand);
            oDependency.OnChange += OnNotificationChange;

            // NOTE: You have to execute the command, or the notification will never fire.
            oCommand.ExecuteReader();
        }
    }
}

private void ChangeNotification(object sender, SqlNotificationEventArgs e)
{
    Console.WriteLine("Notification Info: " + e.Info);
    //Re-register the SqlDependency. 
    //var oDependency = new SqlDependency();
    //oDependency.OnChange -= OnNotificationChange;
    RegisterForNotification();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...