.net 如何在dotnet aries框架内使用中介代理连接两个hyperledger aries边缘代理?

.net 如何在dotnet aries框架内使用中介代理连接两个hyperledger aries边缘代理?,.net,hyperledger,aries,.net,Hyperledger,Aries,我想使用hyperledger aries dotnet框架实现两个边缘代理。两个代理都应使用中介代理,即来自一个边缘代理的调用应传递给第二个边缘代理的中介代理,然后转发给第二个边缘代理。 我使用路由示例中的代码设置了两个中介代理:。 我的两个边缘代理基于aspnetcore示例:。我只在Startup.cs中用RegisterEdgeAgent替换了RegisterAgent,并将endpointUri设置为相应的中介之一 当启动边缘代理并运行中介代理时,边缘代理将按预期连接到其中介 但是,当

我想使用hyperledger aries dotnet框架实现两个边缘代理。两个代理都应使用中介代理,即来自一个边缘代理的调用应传递给第二个边缘代理的中介代理,然后转发给第二个边缘代理。 我使用路由示例中的代码设置了两个中介代理:。 我的两个边缘代理基于aspnetcore示例:。我只在
Startup.cs
中用
RegisterEdgeAgent
替换了
RegisterAgent
,并将
endpointUri
设置为相应的中介之一

当启动边缘代理并运行中介代理时,边缘代理将按预期连接到其中介

但是,当我尝试连接两个边缘代理(即使用代理1创建邀请并使用代理2接受邀请)时,连接状态仍处于“协商”状态

似乎必须有人来处理InboxItemEvent,但我不知道该如何实现这一点


欢迎任何意见!谢谢

上面链接的默认实现不会自动检查其中介代理中的新消息。在开发过程中解决这个问题的一种方法是在两个边缘代理上设置一个计时器,用于检查它们相应的中介代理中的新消息。基本上,每5秒左右调用一次
IEdgeClient.FetchInboxAsync
。 这将处理您的连接并将其从
协商状态移动到
已连接状态

中介代理使用
InboxItemEvent
字段通知新邮件,以便让边缘客户端知道新的收件箱邮件。一种方法是使用推送通知。 由于您可能正在使用控制台应用程序,因此您没有此选项,因此设置计时器并手动提取消息是您的最佳选择

这正是我们正在做的——一个10秒的计时器检查新消息