nServiceBus消息应该包含对象还是只包含简单类型和字符串?

时间:2011-06-28 11:48:22

标签: messaging nservicebus

当使用nservicebus发送消息时,消息是否只包含简单的类型和字符串,或者是否可以包含您自己的对象?如果是这样,这些对象应该是没有任何行为的轻量级数据传输对象吗?

例如发送以下消息:

public class UserAuthenticatedMessage : IMessage {

    public MyUserClass User { get; private set; }

    public UserAuthenticatedMessage(MyUserClass user) {
        User = user;
    }

    public object Value {
        get { return User; }
    }
}

MyUserClass不仅包含属性,还包含行为:

public class MyUserClass {
    public int Id { get; set; }
    public string Username { get; set; }

    public bool ICheckSomething(string foo) {

    }
}

这可以/一个坏主意吗?我们应该使用没有行为的MyUserDTO类吗?我们应该在消息中明确发送所有字段,然后在另一端变成一个对象吗?

1 个答案:

答案 0 :(得分:2)

您可以在邮件中发送嵌套数据容器,即数据传输对象,但它们不应该有行为。