当使用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类吗?我们应该在消息中明确发送所有字段,然后在另一端变成一个对象吗?
答案 0 :(得分:2)
您可以在邮件中发送嵌套数据容器,即数据传输对象,但它们不应该有行为。