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

📄 brokerform.vb

📁 SQL Server 业已成为最为流行的几大数据库之一
💻 VB
字号:
'serviceenum.dll
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Smo.Broker
Imports Microsoft.SqlServer.Management.Common





Public Class BrokerForm
    Dim lServer As Server
    Dim lDatabase As Database
    Dim lBroker As ServiceBroker
    Dim lMT As MessageType
    Dim lSC As ServiceContract
    Dim lBS As BrokerService
    Dim lSQ As ServiceQueue

    Private Sub BrokerForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        refreshInfo()

    End Sub

    Private Sub btCreateBroker_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btCreateBroker.Click

        ' 创建请求和响应消息请求
        Dim SourceMessage As New MessageType(lBroker, "SourceMessage")
        SourceMessage.MessageTypeValidation = MessageTypeValidation.None
        SourceMessage.Create()

        '创建请数据类型
        Dim TargetMessage As New MessageType(lBroker, "TargetMessage")
        TargetMessage.MessageTypeValidation = MessageTypeValidation.None
        TargetMessage.Create()

        '创建关联
        Dim MainContract As New ServiceContract(lBroker, "MainContract")
        MainContract.MessageTypeMappings.Add(New MessageTypeMapping(MainContract, _
                                                "SourceMessage", MessageSource.Initiator))
        MainContract.MessageTypeMappings.Add(New MessageTypeMapping(MainContract, _
                                        "TargetMessage", MessageSource.Target))
        MainContract.Create()

        '创建队列
        Dim SourceQueue As New ServiceQueue(lBroker, "SourceQueue")
        SourceQueue.Create()

        Dim TargetQueue As New ServiceQueue(lBroker, "TargetQueue")
        TargetQueue.Create()

        '创建服务
        Dim SendMessageService As New BrokerService(lBroker, "sendMessageService")
        SendMessageService.QueueName = "SourceQueue"
        SendMessageService.ServiceContractMappings.Add( _
                    New ServiceContractMapping(SendMessageService, "MainContract"))
        SendMessageService.Create()

        Dim RecieveService As New BrokerService(lBroker, "receiveService")
        RecieveService.QueueName = "targetqueue"
        RecieveService.ServiceContractMappings.Add( _
                New ServiceContractMapping(RecieveService, "MainContract"))
        RecieveService.Create()

        Timer1.Enabled = True

    End Sub
    Private Sub refreshInfo()

        lServer = New Server("(local)")
        lDatabase = lServer.Databases("S_C_SC")
        lBroker = lDatabase.ServiceBroker

        For Each lMT In lBroker.MessageTypes
            lbMessage.Items.Add(lMT.Name.ToString)
        Next

        For Each lSC In lBroker.ServiceContracts
            lbContract.Items.Add(lSC.Name.ToString)
        Next
        For Each lSQ In lBroker.Queues
            lbQueues.Items.Add(lSQ.Name.ToString)
        Next
        For Each lBS In lBroker.Services
            lbService.Items.Add(lBS.Name.ToString)
        Next

    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        refreshInfo()
        MsgBox("BROKER服务创建完毕")
        Timer1.Enabled = False
    End Sub
End Class

⌨️ 快捷键说明

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