📄 brokerform.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 + -