Service Broker实现发布-订阅(Publish-Subscribe)框架(3)
生活随笔
收集整理的這篇文章主要介紹了
Service Broker实现发布-订阅(Publish-Subscribe)框架(3)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Service Broker實現發布-訂閱(Publish-Subscribe)框架(3)
這一主題前面相關的文章如下:
Service Broker實現發布-訂閱(Publish-Subscribe)框架(1)
Service Broker實現發布-訂閱(Publish-Subscribe)框架(2)
發布信息Publishing Information 這一節演示訂閱者通過訂閱從PublisherService服務接收信息,已經AuthorService如何發送新的article消息到PublisherService服務進行分發。在訂閱者可以從PublisherService接收新的article消息之前,它必須請求一個訂閱。可以通過發送一個 [http://ssb.csharp.at/SSB_Book/c10/SubscribeMessage] 消息來實現,代碼如下: 訂閱方請求訂閱腳本: DECLARE @ch UNIQUEIDENTIFIER; BEGIN DIALOG CONVERSATION @ch FROM SERVICE [SubscriberService1] TO SERVICE 'PublisherService' ON CONTRACT [http://ssb.csharp.at/SSB_Book/c10/SubscribeContract] WITH ENCRYPTION = OFF; SEND ON CONVERSATION @ch MESSAGE TYPE [http://ssb.csharp.at/SSB_Book/c10/SubscribeMessage] ( N'<?xml version="1.0"?> <Request xmlns="http://ssb.csharp.at/SSB_Book/c10/PublishSubscribe"> <Subject>Subject1</Subject> </Request>' ); GO 在上述腳本中,你必須在發送的消息中指定消息主題,隨后會根據主題從PublisherService 中獲取發布數據。在訂閱者一設置好訂閱,AuthorService就可以發送article消息給PublisherService進行分發。示例代碼如下: [AuthorService] 發送PublishMessage消息: DECLARE @ch UNIQUEIDENTIFIER; BEGIN DIALOG CONVERSATION @ch FROM SERVICE [AuthorService] TO SERVICE 'PublisherService' ON CONTRACT [http://ssb.csharp.at/SSB_Book/c10/PublishContract] WITH ENCRYPTION = OFF; SEND ON CONVERSATION @ch MESSAGE TYPE [http://ssb.csharp.at/SSB_Book/c10/PublishMessage] ( N'<?xml version="1.0"?> <Publish xmlns="http://ssb.csharp.at/SSB_Book/c10/PublishSubscribe"> <Subject>Subject1</Subject> </Publish>' ); AuthorService必須指定隨后的article消息屬于哪一主題,它通過發送[http://ssb.csharp.at/SSB_Book/c10/PublishMessage] 消息類型,通知PublisherService 記錄相應的發布記錄。最后,AuthorService 發送屬于前面指定主題的、不同的article消息。 發送特定主題的article消息: SEND ON CONVERSATION @ch MESSAGE TYPE [http://ssb.csharp.at/SSB_Book/c10/ArticleMessage] ( N'This is an article on Subject1' ); SEND ON CONVERSATION @ch MESSAGE TYPE [http://ssb.csharp.at/SSB_Book/c10/ArticleMessage] ( N'And this is another article on Subject1' ); GO 在AuthorService 一發送article消息到PublisherService,這些消息將通過sp_PublisherService存儲過程自動轉發給訂閱者?,F在,你可以查詢訂閱者服務對應的隊列,⑾址⑺偷腶rticle消息成功轉發過來了。 備注:因為Service Broker內在的異步處理特性,在你查看SubscriberQueue1和SubscriberQueue2隊列之前,你需要等待幾秒鐘,直到這些消息已經處理完成。 EntLib.com譯者注:本文翻譯Apress出版《Pro SQL Server 2005 Service Broker》的其中一個章節。現已翻譯完成,歡迎交流、分享。謝謝!
這一主題前面相關的文章如下:
Service Broker實現發布-訂閱(Publish-Subscribe)框架(1)
Service Broker實現發布-訂閱(Publish-Subscribe)框架(2)
發布信息Publishing Information 這一節演示訂閱者通過訂閱從PublisherService服務接收信息,已經AuthorService如何發送新的article消息到PublisherService服務進行分發。在訂閱者可以從PublisherService接收新的article消息之前,它必須請求一個訂閱。可以通過發送一個 [http://ssb.csharp.at/SSB_Book/c10/SubscribeMessage] 消息來實現,代碼如下: 訂閱方請求訂閱腳本: DECLARE @ch UNIQUEIDENTIFIER; BEGIN DIALOG CONVERSATION @ch FROM SERVICE [SubscriberService1] TO SERVICE 'PublisherService' ON CONTRACT [http://ssb.csharp.at/SSB_Book/c10/SubscribeContract] WITH ENCRYPTION = OFF; SEND ON CONVERSATION @ch MESSAGE TYPE [http://ssb.csharp.at/SSB_Book/c10/SubscribeMessage] ( N'<?xml version="1.0"?> <Request xmlns="http://ssb.csharp.at/SSB_Book/c10/PublishSubscribe"> <Subject>Subject1</Subject> </Request>' ); GO 在上述腳本中,你必須在發送的消息中指定消息主題,隨后會根據主題從PublisherService 中獲取發布數據。在訂閱者一設置好訂閱,AuthorService就可以發送article消息給PublisherService進行分發。示例代碼如下: [AuthorService] 發送PublishMessage消息: DECLARE @ch UNIQUEIDENTIFIER; BEGIN DIALOG CONVERSATION @ch FROM SERVICE [AuthorService] TO SERVICE 'PublisherService' ON CONTRACT [http://ssb.csharp.at/SSB_Book/c10/PublishContract] WITH ENCRYPTION = OFF; SEND ON CONVERSATION @ch MESSAGE TYPE [http://ssb.csharp.at/SSB_Book/c10/PublishMessage] ( N'<?xml version="1.0"?> <Publish xmlns="http://ssb.csharp.at/SSB_Book/c10/PublishSubscribe"> <Subject>Subject1</Subject> </Publish>' ); AuthorService必須指定隨后的article消息屬于哪一主題,它通過發送[http://ssb.csharp.at/SSB_Book/c10/PublishMessage] 消息類型,通知PublisherService 記錄相應的發布記錄。最后,AuthorService 發送屬于前面指定主題的、不同的article消息。 發送特定主題的article消息: SEND ON CONVERSATION @ch MESSAGE TYPE [http://ssb.csharp.at/SSB_Book/c10/ArticleMessage] ( N'This is an article on Subject1' ); SEND ON CONVERSATION @ch MESSAGE TYPE [http://ssb.csharp.at/SSB_Book/c10/ArticleMessage] ( N'And this is another article on Subject1' ); GO 在AuthorService 一發送article消息到PublisherService,這些消息將通過sp_PublisherService存儲過程自動轉發給訂閱者?,F在,你可以查詢訂閱者服務對應的隊列,⑾址⑺偷腶rticle消息成功轉發過來了。 備注:因為Service Broker內在的異步處理特性,在你查看SubscriberQueue1和SubscriberQueue2隊列之前,你需要等待幾秒鐘,直到這些消息已經處理完成。 EntLib.com譯者注:本文翻譯Apress出版《Pro SQL Server 2005 Service Broker》的其中一個章節。現已翻譯完成,歡迎交流、分享。謝謝!
總結
以上是生活随笔為你收集整理的Service Broker实现发布-订阅(Publish-Subscribe)框架(3)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杂果沙拉为什么要用沙拉酱?
- 下一篇: 绵羊盖被属于八大菜系哪个?