Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# AllJoyn Studio-多接口实现_C#_Windows 10_Windows 10 Universal_Alljoyn_Windowsiot - Fatal编程技术网

C# AllJoyn Studio-多接口实现

C# AllJoyn Studio-多接口实现,c#,windows-10,windows-10-universal,alljoyn,windowsiot,C#,Windows 10,Windows 10 Universal,Alljoyn,Windowsiot,我正在尝试实现一个具有多个接口的AllJoyn消费者。AllJoyn菜单为来自内省xml的所有接口创建帮助文件。添加watcher事件处理程序并为所有接口启动相同的处理程序后,仅触发并完成第一个watcher事件处理程序 例如,在LSF自省中,我们有四个接口: AllJoynBusAttachment bus_Consumer = new AlljoynBusAttachment(); watcher_Consumer = new LampStateWatcher(bus_Consumer);

我正在尝试实现一个具有多个接口的AllJoyn消费者。AllJoyn菜单为来自内省xml的所有接口创建帮助文件。添加watcher事件处理程序并为所有接口启动相同的处理程序后,仅触发并完成第一个watcher事件处理程序

例如,在LSF自省中,我们有四个接口:

AllJoynBusAttachment bus_Consumer = new AlljoynBusAttachment();

watcher_Consumer = new LampStateWatcher(bus_Consumer);
watcher_Consumer.Added += Watcher_Consumer_Added;
watcher_Consumer.Start();

watcher_Details = new LampDetailsWatcher(bus_Consumer);
watcher_Details.Added += Watcher_Details_Added;
watcher_Details.Start();


private async void Watcher_Details_Added(LampDetailsWatcher sender, AllJoynServiceInfo args)
        {
            Join_Session_Details = await LampDetailsConsumer.JoinSessionAsync(args, sender);
                Consumer_Details = Join_Session_Details.Consumer;

                if (Join_Session_Details.Status == AllJoynStatus.Ok)
                {
                    var LampName = await Consumer_Details.GetLampIDAsync();
                    Status_List.Items.Add(LampName.LampID);
                }
         }


 private async void Watcher_Consumer_Added(LampStateWatcher sender, AllJoynServiceInfo args)
        {
            Join_Session = await LampStateConsumer.JoinSessionAsync(args, sender);
                Consumer_Bulb = Join_Session.Consumer;
            if (Join_Session.Status == AllJoynStatus.Ok)
            {
                LightBulbs.Add(Consumer_Bulb);
            }

            Consumer_Bulb.SessionMemberRemoved += Consumer_Bulb_SessionMemberRemoved;
    }
在这种情况下,只有添加的
Watcher\u Consumer\u
被激发并完成,而添加的
Watcher\u Details\u
被激发但未完成

如何完成这两个过程。上述方法在使用者上实现多个接口是否正确


注意:这是使用Windows10上运行的VS2015 AllJoyn Studio扩展,第二个观察者需要额外的总线连接。单个总线不能在两个观察者之间共享。 这是我在MSDN论坛上得到的答案

相同的链接在这里