rebus

    2热度

    1回答

    我希望分批处理相关消息。使用Rebus服务总线在同一范围/交易中使用相同的处理程序(同一实例)处理事件CustomerCreated和PreferredCustomer。 相同的操作是处理两个消息/事件: class CustomerHandler : IHandleMessages<CustomerCreated>, IHandleMessages<PreferredCustomer> {

    2热度

    1回答

    我在我的rebus处理程序中看到了一个非常奇怪的行为,这个行为是在exe中自行托管的。在使用bus.send方法发送响应之后,它会添加进程使用的一些内存。我尝试使用内存配置文件查找对象图,发现rebus在某处以串行格式保存响应消息。 对象图在层次结构下显示为根。 System.Message - > CachedBodyMessage - > stream 给我一些指示,如果有人知道这件事。

    2热度

    1回答

    在使用Rebus + RabbitMq时,我想访问传输级消息的Id,以便跟踪我已经处理了哪些消息(通过持久化Id)以实现某种类型的幂等机制。 但是,我找不到一个'干净'的方式来访问一个消息的唯一标识(在RabbitMq标题中可用)。 它看起来是不可能的,不过,我可能会丢失在Bus.Advanced的东西...喜欢的东西hidding * .. ;)

    1热度

    1回答

    我正在尝试将NLog与Rebus一起使用,但我收到一个异常:无法访问类型为:Rebus.Configuration.RebusConfigurer的构造函数。是否授予必需的许可? adapter.Register(() => new DownloadHandler()); Configure.With(adapter) .Logging(l => l.NLog())

    2热度

    1回答

    我的情况是这样的: 我有多个Web服务器是: 需要与后端(IBus.Publish/IBus.Subscribe) 需要与之沟通交流各-其他(IBus.Publish/IBus.Subscribe) 除了网络服务器之外,我还有许多使用相同消息的Windows服务。 为了使这项工作,我有网络服务器发送消息到中央集线器,它唯一的响应是它将消息包装成新的消息类型并将其发布给所有订户。 我可以以某种方式避

    1热度

    1回答

    我们有一个Rebus消息处理程序与第三方Web服务通信。由于无法直接控制的原因,此WCF服务经常会引发异常,因为它在自己的数据库中遇到数据库死锁。然后,Rebus将尝试处理这个消息五次,这在大多数情况下意味着这五次中的一次将是幸运的并且不会陷入僵局。但是经常发生一个消息在死锁之后会死锁并最终进入错误队列。 除了固定的僵局,这将是一个长期目标的来源,我能想到的两个选项: 跟上只有这个特定的消息类型,

    9热度

    2回答

    当我们需要做的在我们的应用程序的数据库访问,我们采用以下模式: 用于查询,我们有一个静态工厂类的方法CreateOpenConnection这确实不外乎new SqlConnection(myConnectionString)并在其上调用Open()。在执行查询之前调用此方法,并在查询返回后处理连接。 对于插入/更新/删除我们使用其中的变化是成批并通过调用提交到数据库work.Commit()像这

    1热度

    1回答

    处理程序接收到的每条消息都包含聚合根的整个状态。系统然后能够根据这些数据执行所需的操作。在我的场景中,根据消息中的数据授予访问权限,例如进入房间A & B.消息包含整套授权访问。 这些消息可能无序到达,因为诸如MSMQ之类的消息系统不保证有序交付。 消息#1允许访问房间A & B,但消息#2仅授予对房间A的访问权限。如果他们到达乱序,则将访问权限授予A房间,然后再访问到房间A & B.这不是理想的

    0热度

    1回答

    我有一个的app.config配置卤面和它的作品: <configuration> <configSections> <section name="rebus" type="Rebus.Configuration.RebusConfigurationSection, Rebus" /> </configSections> <rebus address="19

    1热度

    1回答

    我想在同一个进程/ AppDomain中使用Rebus作为内部总线。 我已经修改了Pub/Sub sample,并增加了SameProcessHandler: class SameProcessHandler : IHandleMessages<string> { public void Handle(string message) { Console.Write