gpt4 book ai didi

c# - 需要帮助序列化多个对象以使用 C# 缓存到 redis

转载 作者:可可西里 更新时间:2023-11-01 11:25:22 25 4
gpt4 key购买 nike

我正在尝试弄清楚如何将多个对象序列化为一个巨大的 XML 文件,以将其批量写入 redis 缓存服务器。我知道如何序列化来自每个单独对象的数据,但我需要将所有对象的所有数据批处理到一个文件中并将其写入 redis。

问题:如何使用多个数据变量批量序列化多个对象

生成每个对象的代码:

private void Initialize()
{
// runs through a list of 600ish skills and creates a call data generator for each skill
foreach (var skill in _skills)
{
IFeedServiceAgent feedService = new FeedServiceAgent();
feedService.Subscribe(skill.SkillNumber.ToString(), skill.CallServer);
CallDataGenerator calldata = new CallDataGenerator(_callDataRepo, feedService);
_callDataGenerators.Add(calldata);
Console.WriteLine("Instance of " + skill.SkillNumber + " From Call Server " + skill.CallServer + " is preparing to start");
}
}

每个生成器都生成相同类型的信息,但在我们的调用系统上用于不同的技能。大约有 600 种技能,所以有 600 个生成器。

生成的数据示例:

_skillData.OldestCall = e.CmsData.Skill.OldestCall;
_skillData.AgentsStaffed = e.CmsData.Skill.AgentsStaffed;
_skillData.AgentsAuxed = e.CmsData.Skill.AgentsInAux;
_skillData.AgentsAvailable = e.CmsData.Skill.AgentsAvailable;
_skillData.AgentsOnCalls = e.CmsData.Skill.AgentsOnAcdCall;
_skillData.CallsWaitingInQueue = e.CmsData.Skill.InQueueInRing;
_skillData.Asa = e.CmsData.Skill.AnswerTimePerAcdCall;
_skillData.TimeSubmitted = DateTime.Now;
_skillData.EstimatedHoldTimeLow = e.CmsData.Skill.ExpectedWaitTimeLow;
_skillData.EstimatedHoldTimeMedium = e.CmsData.Skill.ExpectedWaitTimeMedium;
_skillData.EstimatedHoldTimeHigh = e.CmsData.Skill.ExpectedWaitTimeHigh;
_agentData.AgentName = item.AgName;
_agentData.AgentExtension = item.Extension;
_agentData.AgentAuxReason = item.AuxReasonDescription;
_agentData.AgentId = item.LoginId;
_agentData.AgentAcdState = item.WorkModeDirectionDescription;
_agentData.AgentTimeInState = DateTime.Now - item.DateTimeUpdated;
_agentData.TimeSubmitted = DateTime.Now;

最佳答案

所以看起来我最初创建的生成器列表是正确的。如果您创建一个列表,然后序列化该列表对象,它将包含其中的所有公共(public)对象。我的最初没有工作,因为我的生成器内部的对象是私有(private)的。感谢@jdweng 指出这一点!

关于c# - 需要帮助序列化多个对象以使用 C# 缓存到 redis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46062010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com