WCF服务编程设计规范(6):队列服务、安全和服务总线

WCF服务编程设计规范(6):队列服务、安全和服务总线。本节整理队列服务(Queue Servuce)、服务安全(Service Security)和服务总线(Service Bus)的设计规范。

Queued Services

队列服务

1. On the client, always verify that the queue (and a dead-letter queue, when applicable) is available before calling the queued service. Use QueuedServiceHelper.VerifyQueues() for this purpose.

在客户端,在调用队列服务以前,始终检查队列是否可用(如果可以的话,也包括确认死信队列)。使用QueuedServiceHelper.VerifyQueues()方法检查。

2. Always verify that the queue is available when hosting a queued service (this is done automatically by ServiceHost<T>).

当托管队列服务的时候始终检查队列是否可用(ServiceHost<T>会自动检测)

3. Except in isolated scenarios, avoid designing the same service to work both queued and non-queued.

除了某些单独的场景,避免避免在同一个服务里同时使用队列和非队列服务

4. The service should participate in the playback transaction.

服务应该参与到回放事务中

5. When participating in the playback transaction, avoid lengthy processing in the queued service.

当参与到回放事务里,避免队列服务里出现冗长的处理工作

6. Avoid sessionful queued services.

避免使用会话性队列服务

7. When using a singleton queued service, use a volatile resource manager to manage the singleton state.

当使用单例队列服务时,使用易失资源管理器去管理单例状态

时间: 2024-10-22 00:30:35

WCF服务编程设计规范(6):队列服务、安全和服务总线的相关文章

WCF服务编程设计规范(5):事务与并发管理设计

今天整理的内容是WCF事务和并发管理相关的设计规范.WCF服务编程设计规范(5):事务与并发管理设计.中英文对照,How to design Transactions and Concurrency Management in WCF Service. 下面一节是队列服务与安全. Transactions 事务 1. Never manage transactions directly. 不要直接管理事务 2. Apply the TransactionFlow attribute on the

WCF服务编程设计规范(4):操作与错误设计

WCF服务编程设计规范(4):操作与错误设计.主要包含服务操作与调用.错误设计规范.中英对照.欢迎留言交流.下一节会介绍事务.并发管理和队列服务的内容. Operations and Calls 操作与调用 1. Do not treat one-way calls as asynchronous calls. 不要把单向调用作为异步调用 2. Do not treat one-way calls as concurrent calls. 不要把单向调用作为并发调用 3. Expect exce

WCF服务编程设计规范(3):服务契约、数据契约和实例管理设计规范

WCF服务编程设计规范(3):服务契约.数据契约和实例管理设计规范.本节涵盖服务契约和数据契约设计规范,以及服务实例管理内容.中英对照版本,欢迎留言交流. Service Contracts 服务契约 1.Always apply the ServiceContract attribute on an interface, not a class: 把ServiceContract属性标记到契约接口上,而不是服务类上 //Avoid:避免 [ServiceContract] class MySe

WCF服务编程设计规范(2):序言、通用设计规范和要点

WCF服务编程设计规范(2):序言.通用设计规范和要点.主要翻译整理,序言.WCF设计通用设计规范.设计要点.并给出注释.注释内容于括号内.下一部分会整理,服务契约.数据契约.实例管理的内容.这里放出的是中英文对照版.方便大家学习.最后翻译结束,我会整理一个纯中文版放出.如有错误,请批评指正.欢迎留言交流. 序言 对于一次成功的产品交付来说,完整编码规范至关重要.这个规范可以帮助强化一些通用的最佳实践准则,并避免犯错,方便整个团队理解这些知识.通常,编码规范都是相当的繁琐,动辄上百页,内容详细叙

WCF服务编程设计规范(1):最新版WCF Coding Standard介绍

<WCF4.0新特性体验>之后,新出一个系列<WCF服务编程设计规范>.这个系列主要关注的是如何设计WCF服务,以及WCF编码规范.这里我会翻译整理一些WCF服务设计相关的资料,分享给大家,并提供英文原版的下载. [1]序言: 这个系列应该实用性比较强,对于大多数使用到WCF的技术人员或者公司来说,都是比较重要的内容,我们需要一套完整的规范来指导服务的设计和编码.这可以作为大家学习WCF一个规范参考,另外如果公司制定WCF相关的编码和服务设计规范的时候,可以参考一下.我会在这个系列

《WCF服务编程》关于“队列服务”一个值得商榷的地方

今天写<WCF技术剖析(卷2)>关于"队列服务"部分,看了<WCF服务编程>相关的内容.里面介绍一个关于"终结点不能共享相同的消息队列"说法,个人觉得这值得商榷.撰写此文,希望对此征求大家的意见.[源代码从这里下载] 目录 一."终结点不能共享相同的消息队列" 二.实践出真知 三.为什么同一个服务的终结点可以共享相同的消息队列 四.为什么不同服务的终结点不能共享相同的终结点 一."终结点不能共享相同的消息队列&q

WCF分布式开发步步为赢(13):WCF服务离线操作与消息队列MSMQ

之前曾经写过一个关于MSMQ消息队列的文章:WCF分布式开发必备知识 (1):MSMQ消息队列 ,当时的目的也是用它来作为学习WCF 消息队列MSMQ编程的 基础文章.在那篇文章里,我们详细介绍了MSMQ消息队列的基本概念.安装.部 署.开发.调试等相关问题.今天我们来学习WCF分布式开发步步为赢(13):WCF 服务离线操作与消息队列MSMQ.在WCF框架下使用MSMQ消息队列服务编程. 这 里我会给出一个使用WCF MSMQ实现离线请求的DEMO示例程序. 全文结构是:[1]MSMQ基本概念

C#面向服务编程技术WCF从入门到实战演练

  一.WCF课程介绍 1.1.Web Service会被WCF取代吗? 对于这个问题阿笨的回答是:两者在功能特性上却是有新旧之分,但是对于特定的系统,适合自己的就是最好的.不能哪一个技术框架和行业标准作比较,任何对于二者的比较都是错误的,因为两者根不不在同一个范畴里.就好比不能拿个汽车和交通法规比较一样,这是个误区. 阿笨的宗旨就是学完此<C#面向服务编程技术WCF从入门到实战演练>课程,让您从零基础上手后直接将学习的成果运用到实际项目中去.阿笨本次分享的WCF技术是完全来源于切身实际项目中

WCF分布式开发常见错误(17):无法启动MSMQ服务

XP pro版本在安装MSMQ消息队列服务的时候出错,安装"消息队列"服务,但在控制 面板/添加Windows组件时出错,错误信息如下: 无法启动MSMQ服务. 错误代码:0x42c 错误描述:依存服务或组无法启动. 原因:"Distributed Transaction Coordinator"服务未启动. 解决办法: 1. 解决:右击"我的电脑→管理→服务和应用程序→服务"中将此服务启动. 2.开始→运行中输入:cmd 后依次输入如下语句: