Avoid ReceiveErrorHandling.Fault and ReceiveErrorHandling.Drop.
对于MSMQ4.0,除非对ReceiveErrorHandling.Move有高级处理,否则为毒信队列使用ReceiveErrorHandling.Reject,避免使用ReceiveErrorHandling.Fault 和 ReceiveErrorHandling.Drop
19. With MSMQ 4.0, consider the use of a response service to handle service playback failures.
对于MSMQ4.0,考虑使用应答服务去处理服务回放错误
20. Unless dealing with a sessionful contract and service, never assume the order of queued calls.
除非处理会话契约和服务,否则从不假定队列调用是有序的
21. Avoid multiple service endpoints sharing a queue.
避免多个服务终结点共享一个队列
22. Avoid receive context.
避免使用接收上下文环境
Security
安全
1. Always protect the message and provide for message confidentiality and integrity.
始终保护消息,并为消息提供安全性和完整性
2. In an intranet, you can use Transport security as long as the protection level is set to EncryptAndSign.
在企业网内,只要你把保护级别设置为EncryptAndSign你可以使用传输安全,
3. In an intranet, avoid impersonation. Set the impersonation level to TokenImpersonationLevel.Identification.
在企业网内,避免使用impersonation,把impersonation 级别设置为TokenImpersonationLevel.Identification
4. When using impersonation, have the client use TokenImpersonationLevel.Impersonation.
当使用impersonation时,让客户端使用TokenImpersonationLevel.Impersonation
5. Use the declarative security framework and avoid manual configuration.
使用声明式安全框架,并避免手动配置
6. Never apply the PrincipalPermission attribute directly on the service class:
从不在服务上直接设置PrincipalPermission属性