首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#.NET/Genesys-如何基于事件的ReferenceID检索特定值

C#.NET/Genesys-如何基于事件的ReferenceID检索特定值
EN

Stack Overflow用户
提问于 2015-08-25 23:08:20
回答 2查看 800关注 0票数 1

我不确定在这里问这个问题是不是一个好问题,或者我应该说这个问题更多地是针对C#.NET或Genesys的。

我正在使用Genesys (contact center solution provider)平台SDK和C#.NET开发一个座席桌面,基本上当我请求向服务器发送东西时,如果请求成功,就会返回一个事件,如下图所示。

代码语言:javascript
复制
'EventInfo' ('2')
message attributes:
REQ_ID [int]    = 402
USER_REQ_ID [int] = 0
TM_SERVER [int] = 1440495548
TM_LENGTH [int] = 1285
LONG_VALUE [int] = 0
STRING_VALUE [str] = "123"

'EventInfo' ('2')
message attributes:
REQ_ID [int]    = 301
USER_REQ_ID [int] = 0
TM_SERVER [int] = 1440495553
TM_LENGTH [int] = 1290
LONG_VALUE [int] = 0
STRING_VALUE [str] = "456"

基于上述事件,我同时发送了两个请求,因此它返回了两个EventInfo。我可以通过eventInfo.ReferenceID获取事件的REQ_ID,也可以通过eventInfo.StringValue获取事件的STRING_VALUE (在本例中就是我想要的值,这个值将填充到我的座席桌面的列表视图中)。

我的问题是如何根据事件的ReferenceID检索字符串值?不幸的是,没有像这样的东西:eventInfo.ReferenceID(402).StringValue和返回值123。有没有类似的方法来获得值?

EN

回答 2

Stack Overflow用户

发布于 2015-09-09 22:17:45

下面是我如何解决我的问题的:

代码语言:javascript
复制
Dictionary<int, string> qInfoTempDict = new Dictionary<int, string>();

我使用dictionary而不是listarray的原因可以参考this

接下来,在我的EventInfo_Handler()方法中,我编写了如下语句:

代码语言:javascript
复制
List<KeyValuePair<int, string>> sortedTempList = new List<KeyValuePair<int, string>>();

//Whenever the EventInfo is received, quickly retrieve its ReferenceId and StringValue and store them in a temporary KeyValuePair dictionary
qInfoTempDict.Add(eventInfo.ReferenceId, eventInfo.StringValue);

//Sort the dictionary by ReferenceId
foreach (KeyValuePair<int, string> attribute in qInfoTempDict.OrderBy(key => key.Key))
        sortedTempList.Add(new KeyValuePair<int, string>(attribute.Key, attribute.Value));

然后相应地将数据插入到列表视图中。

欢迎对此解决方案的任何反馈或增强。

票数 0
EN

Stack Overflow用户

发布于 2016-07-25 02:56:06

如果你能把你的请求具体到哪台服务器上,我很乐意帮助你。genesys平台上有很多组件。你可以用那个SDK做任何你想做的事情。甚至你也可以创建第三方服务器,在genesys中充当核心组件。

主要是genesys事件驱动架构。您必须使用genesys CME上定义的正确配置和客户端进行连接。之后,您可以使用platform SDK连接和监听事件。SDK提供了高级抽象来实现这一点。创建类似事件侦听器的方法后,将事件方法分配给protocol event。在此之后,您将像其他服务器和应用程序一样获得事件。当你在这个方法上得到一个事件时,将它转换成你想看到的任何东西,在你的例子中,你可以将它转换为EventInfo。然后你就会得到结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32207654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档