⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transactedmessagemediator_sql2000.cs

📁 SQL Server 2005 Service Broker (SSB) is an asynchronous messaging technology built into SQL Server.
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Data;
using System.Xml;
using System.Transactions;

namespace SSBExternalActivationRouter
{
    class TransactedMessageMediator_SQL2000 : ITransactedMessageMediator
    {
        SqlConnection _conn;

        //You could add another layer so this object simply manages one of many
        //translators based on message type

        public void Translate(SSBMessage msg)
        {
            SqlParameter param;
            SqlCommand cmd;
            string query;
            XmlDocument xml = new XmlDocument();
            SqlTransaction tran;

            //This is not the best solution
            //ideally you want to Enlist the current
            //transaction and make it distributed
            //Receive command appears to use the SAVE Tran
            //Which is not supported in a distributed transaction
            tran = _conn.BeginTransaction();

            cmd = _conn.CreateCommand();

            cmd.Transaction = tran;

            query = "EXEC InsertTestSSB @body ";
            cmd.CommandText = query;

            param = cmd.Parameters.Add("@body", SqlDbType.Text);

            xml.Load(msg.Body);

            param.Value = xml.OuterXml;

            cmd.ExecuteNonQuery();

            tran.Commit();

        }

        public void Init(object obj)
        {
            _conn = new SqlConnection(obj.ToString());

            _conn.Open();
        }

       

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -