在实际运行中,好好运行的程序出现了以下问题:
2019-12-27 10:40:00,164 [DefaultQuartzScheduler_Worker-2] ERROR IBeam.BCPool.Objects.CloudPowerIncome [(null)] - AutoSynchronizeIncomeFromPoolAPI CloudPowerPriceID=8155-c0a6ff2c7179,SequenceNo=CP_20191216_0001,Name=标准算力R1(立即生效),MaxPower=27.0000000000,MinerPoolName=BTC.Com,ViewLink=19w9ikPdGopjh3xQY9KpRTmUFTLTCAr25u,Error=System.InvalidOperationException: One or more properties are not registered for this type ---> System.IndexOutOfRangeException: 索引超出了数组界限。
在 Csla.Core.FieldManager.FieldDataManager.GetFieldData(IPropertyInfo propertyInfo)
--- 内部异常堆栈跟踪的结尾 ---
在 Csla.Core.FieldManager.FieldDataManager.GetFieldData(IPropertyInfo propertyInfo)
在 Csla.Core.BusinessBase.ReadProperty[P](PropertyInfo`1 propertyInfo)
在 Csla.Core.BusinessBase.GetProperty[P](PropertyInfo`1 propertyInfo, NoAccessBehavior noAccess)
在 Csla.Core.BusinessBase.GetProperty[P](PropertyInfo`1 propertyInfo)
在 IBeam.BCPool.Objects.CloudPowerPrice.get_WalletAddress()
在 IBeam.BCPool.Objects.CloudPowerPrice.GetQueryArgs()
在 IBeam.BCPool.Objects.CloudPowerIncome.AutoSynchronizeIncomeFromPoolAPI(CloudPowerPrice price, DateTime date)
仔细检查类的定义代码,发现没有问题啊?但实际运行却不行,之前也出现过 CloudPowerPrice.Name 上出现过这个问题,最终确认是这样的,
在同一台物理服务器上部署了 两个以上不同的应用,但类库的版本不一致,新运行的进程获取类定义 元数据时,总是取了之前加载的类定义,更新类定义后,问题解决。