如何在队列资源管理器中使用 .net 视图
how to use .net view in queue explorer
我们公司使用 cogin 的 Queue Explorer 4.0 pro,我一直在他们的网站上搜索,在使用他们的 .net 视图时我唯一能找到的是关于查看使用 .网络程序集:blog post
例如,我的消息正文是这样的:
<?xml version="1.0"?>
<CreateAuditLogEntry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.net/Phone.Messages">
<SurveyId>12345</SurveyId>
<AuditEventId>704</AuditEventId>
<EventDateTime>2018-06-08T13:21:07.6647304Z</EventDateTime>
</CreateAuditLogEntry>
并且我已经尝试使用我们告诉 NServicebus 使用的程序集发送说 message.It 没有 SerializableAttribute
所以我想我只是用相同的命名空间并尝试添加所有相同的东西:
namespace Phone.Messages
{
[System.Serializable]
public class CreateAuditLogEntry
{
public long SurveyId { get; set; }
public int AuditEventId { get; set; }
public System.DateTime EventDateTime { get; set; }
}
}
我编译它并将队列资源管理器指向它,它告诉我它仍然无法反序列化对象:Error: Cannot deserialize the message passed as an argument. Cannot recognize the serialization format.
有没有人使用过它并使其成功运行?
xmlns 部分似乎是这里的问题所在。当通过 XmlRoot 属性指定该命名空间时,您的示例有效:
[XmlRoot(Namespace="http://tempuri.net/Phone.Messages")]
public class CreateAuditLogEntry
{
public long SurveyId { get; set; }
public int AuditEventId { get; set; }
public System.DateTime EventDateTime { get; set; }
}
顺便说一句。 QueueExplorer 动态加载为 .Net 视图指定的程序集,如果您重建并创建新的 dll/exe.
,则不必重新启动它
我们公司使用 cogin 的 Queue Explorer 4.0 pro,我一直在他们的网站上搜索,在使用他们的 .net 视图时我唯一能找到的是关于查看使用 .网络程序集:blog post
例如,我的消息正文是这样的:
<?xml version="1.0"?>
<CreateAuditLogEntry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.net/Phone.Messages">
<SurveyId>12345</SurveyId>
<AuditEventId>704</AuditEventId>
<EventDateTime>2018-06-08T13:21:07.6647304Z</EventDateTime>
</CreateAuditLogEntry>
并且我已经尝试使用我们告诉 NServicebus 使用的程序集发送说 message.It 没有 SerializableAttribute
所以我想我只是用相同的命名空间并尝试添加所有相同的东西:
namespace Phone.Messages
{
[System.Serializable]
public class CreateAuditLogEntry
{
public long SurveyId { get; set; }
public int AuditEventId { get; set; }
public System.DateTime EventDateTime { get; set; }
}
}
我编译它并将队列资源管理器指向它,它告诉我它仍然无法反序列化对象:Error: Cannot deserialize the message passed as an argument. Cannot recognize the serialization format.
有没有人使用过它并使其成功运行?
xmlns 部分似乎是这里的问题所在。当通过 XmlRoot 属性指定该命名空间时,您的示例有效:
[XmlRoot(Namespace="http://tempuri.net/Phone.Messages")]
public class CreateAuditLogEntry
{
public long SurveyId { get; set; }
public int AuditEventId { get; set; }
public System.DateTime EventDateTime { get; set; }
}
顺便说一句。 QueueExplorer 动态加载为 .Net 视图指定的程序集,如果您重建并创建新的 dll/exe.
,则不必重新启动它