【问题标题】:NServiceBus AzureSagaPersistence schema issueNServiceBus AzureSagaPersistence 架构问题
【发布时间】:2015-02-13 13:33:32
【问题描述】:

我通过添加一个 DateTime 属性更新了我的 saga 数据类,但一切都陷入了困境。架构没有更新,我开始在每条 saga 消息上都收到异常,但那里没有重要数据,所以我删除了表。

从那时起,saga 数据表就是这样创建的:

架构中不存在来自 Saga 数据类的字段。

这是我的传奇数据类:

public class ModuleAliveSagaData : ContainSagaData
{
    [Unique]
    public string ModuleId { get; set; }
    public string Endpoint { get; set; }
    public string Module { get; set; }
    public DateTime LastCheck { get; set; }
    public DateTime LastWarning { get; set; }
    public bool Warning { get; set; }
    public bool Error { get; set; }
}

那里有什么问题?在我删除 saga 数据表之前,它非常好。

更新:我从数据类中删除了第二个 DateTime 字段,再次删除了表,它开始工作。为什么会这样?

【问题讨论】:

    标签: azure nservicebus saga nservicebus-sagas


    【解决方案1】:

    你遇到了什么异常?

    PS:Azure存储没有schema,所以只要不往datetime字段里放任何数据,这个字段就不存在。

    我假设发生异常是因为您的表中有现有记录,但其中没有 datetime 属性,而您的 datetime 属性需要数据。你可以试试 DateTime 吗?属性类型?

    PS:azure saga 持久化器也不支持 [Unique] 属性,如果您需要属性的唯一性,最好采用不同的持久化器

    【讨论】:

    • 我会检查异常。我对一个 DateTime 字段没有问题,但是当我有两个 DateTime 字段时它会崩溃。
    猜你喜欢
    • 2010-12-28
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    • 1970-01-01
    • 2011-02-14
    • 2012-11-25
    相关资源
    最近更新 更多