惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
云风的 BLOG
云风的 BLOG
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
P
Palo Alto Networks Blog
D
Docker
H
Hackread – Cybersecurity News, Data Breaches, AI and More
S
Schneier on Security
Engineering at Meta
Engineering at Meta
I
InfoQ
L
LangChain Blog
Cyberwarzone
Cyberwarzone
T
Tenable Blog
WordPress大学
WordPress大学
P
Privacy & Cybersecurity Law Blog
罗磊的独立博客
Apple Machine Learning Research
Apple Machine Learning Research
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Jina AI
Jina AI
C
CERT Recently Published Vulnerability Notes
Scott Helme
Scott Helme
博客园 - 三生石上(FineUI控件)
酷 壳 – CoolShell
酷 壳 – CoolShell
Know Your Adversary
Know Your Adversary
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Last Watchdog
The Last Watchdog
Last Week in AI
Last Week in AI
Cloudbric
Cloudbric
S
SegmentFault 最新的问题
爱范儿
爱范儿
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 叶小钗
AI
AI
T
Tor Project blog
I
Intezer
T
Threatpost
www.infosecurity-magazine.com
www.infosecurity-magazine.com
V
Visual Studio Blog
N
News and Events Feed by Topic
Latest news
Latest news
S
Security Affairs
博客园 - Franky
Microsoft Security Blog
Microsoft Security Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
B
Blog RSS Feed
C
Cybersecurity and Infrastructure Security Agency CISA
Hugging Face - Blog
Hugging Face - Blog
小众软件
小众软件
S
Securelist

博客园 - Heclei

WebDeploy 同步IIS6 bindingRedirect 相当奇怪的设置 - Heclei - 博客园 C# 使用WM_NCLBUTTONDOWN消息实现任意位置移动窗体 发布开源程序:数据库结构比较 VS2005 WEB F5调试自动退出调试状态 JS整理,getCookie, getElementsByClassName , 添加删除事件 (转)C# 单实例 - Heclei - 博客园 (转)VC++ 2005 用程式建立 Paradox ( *.db ) 资料库档桉 - Heclei C# 判断操作系统类型 Service Broker实现发布-订阅(Publish-Subscribe)框架(2) Service Broker实现发布-订阅(Publish-Subscribe)框架(1) .net sqlserver 关于连接池没事释放的注意项 mysql ERROR 1045 JS实现局部打印和预览 perforce,P4,权限设置 Visual Studio 2005 sp1 新愁加就恨 将一个数据库的登录账户转移到另一个账户中(Trans logins from one database to another ) Find the need for WinFx, understanding for very very beginners 使用vsto制作的outlook插件,安装加载失败
Service Broker实现发布-订阅(Publish-Subscribe)框架(3)
Heclei · 2008-09-05 · via 博客园 - Heclei

这一主题前面相关的文章如下:
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存储过程自动转发给订阅者。现在,你可以查询订阅者服务对应的队列,⑾址⑺偷腶rticle消息成功转发过来了。

备注:因为Service Broker内在的异步处理特性,在你查看SubscriberQueue1和SubscriberQueue2队列之前,你需要等待几秒钟,直到这些消息已经处理完成。

EntLib.com译者注:本文翻译Apress出版《Pro SQL Server 2005 Service Broker》的其中一个章节。现已翻译完成,欢迎交流、分享。谢谢!