[我正在尝试发送一个对象(例如:StudentModel with ID, Name, Address,..)
到ActiveMQ
,我已经阅读了很多教程,但对于c#却了解不多。我遵循了一个教程,但它不起作用。这是我的发送形式的代码:] >
Person p = new Person(123, "vtp", new DateTime(1999, 11, 01)); IObjectMessage m = session.CreateObjectMessage(p); producer.Send(m);
以接收形式:
private void Consumer_Listener(IMessage message) { if (message is IObjectMessage) { IObjectMessage obj = message as IObjectMessage; //1 Person p = (Person)obj.Body; //2 MessageBox.Show(p.Hoten); //3 } }
我调试并意识到代码仅在语句1和2处重复,而不在语句3中运行
我正在尝试向ActiveMQ发送对象(例如,ID,名称,地址,..为StudentModel的对象),我已经阅读了很多教程,但对于c#来说却很少。我遵循了一个教程,但是它不起作用。这是我在...中的代码...
带有ActiveMQ的序列化ObjectMessage样式消息传递实际上是针对基于Java的客户端的。使用.NET特定的ObjectMessage是一个危险的提议,并且在几乎所有情况下都应避免使用。如果有任何Java客户端要使用这些消息,则.NET对象的二进制有效载荷将导致它们无法解组有效载荷,并且会将消息NACK到DLQ。同样,如果代理安装了一个恰巧触发了消息主体的解组的插件,则该过程将失败,消息可能会通过DLQ或断开连接。