C# 使用MSMQ远程队列
我在我们的web服务器(Windows 2008)上运行了一个MSMQ(消息队列系统),它也有IIS 7 我们有一个现有的可公开访问的ASMX web服务,它接收Xml请求,并使用以下代码将相关数据(未加密)写入消息中到本地MSMQC# 使用MSMQ远程队列,c#,msmq,C#,Msmq,我在我们的web服务器(Windows 2008)上运行了一个MSMQ(消息队列系统),它也有IIS 7 我们有一个现有的可公开访问的ASMX web服务,它接收Xml请求,并使用以下代码将相关数据(未加密)写入消息中到本地MSMQ MessageQueue oMessageQueue = new MessageQueue(@"DIRECT=https://myip/private$/Orders"); try { Order oOrder = new Order();
MessageQueue oMessageQueue = new MessageQueue(@"DIRECT=https://myip/private$/Orders");
try
{
Order oOrder = new Order();
oOrder.Id = 1;
oOrder.ProductId = "XYZ-123";
oOrder.Quantity = 2;
oOrder.CardNumber = "1111222233334444";
oOrder.CardExpiry = "2014-12";
oOrder.CardCv2 = "123";
oMessageQueue.Send(oOrder);
return true;
}
catch(Exception ex)
{
return false;
}
我有一个用C#编写的控制台应用程序,需要读取远程专用队列并处理消息。但是,我需要执行以下命令
(1) 对队列的所有请求都是通过HTTPS进行的(数据包含敏感的持卡人数据)
(2) 对队列的所有请求都经过身份验证
(3) 我最好查询远程队列,或者在两个消息队列之间设置站点到站点的连接,并且本地控制台应用程序访问本地队列
(4) 由于队列将临时包含持卡人数据,我应该加密队列中的消息吗
(5) 如果重新启动承载MSMQ的服务器,如何确保消息已存储且仍可处理
有人能就上述问题提供一些建议吗?1)如果您使用的是MSMQ 3.0或更高版本,则可以使用HTTPS消息
2) 当涉及到身份验证时,有不同的方法/限制,我建议您深入研究文档,以确保MSMQ能够满足您的需要,您可以开始
3) 我个人的偏好一直是发送到远程队列并在本地读取,但我认为“最佳”方法在很大程度上取决于您的解决方案体系结构
4) 对
5) 在消息上设置Recoverable属性可以解决这一问题,但会影响性能