2016-04-12 12 views
0

Birden çok arabirim içeren bir AllJoyn tüketicisini uygulamaya çalışıyorum. AllJoyn menüsü, introspection xml'den tüm arabirimler için yardımcı dosyaları oluşturur. İzleyici olay işleyicisini ekledikten ve tüm arabirimler için aynı şeyi başlattıktan sonra yalnızca ilk izleyici olay işleyicisi tetiklenir ve tamamlanır. Bu durumdaAllJoyn Studio - Çoklu Arabirim Uygulaması

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; 
    } 

sadece Watcher_Consumer_Added ateş ve Watcher_Details_Added olarak ateşlenir tamamlanamadığı ancak tamamlanmaz: Biz bu nedenle dört arayüzleri var LSF içgözlem örneğin

.

Her iki işlemi de nasıl tamamlarım? Yukarıdaki yöntem tüketici üzerinde çoklu arayüzleri uygulamak için doğru mu?

P.S. : Bu, Windows10

cevap

0

üzerinde çalışan VS2015 için AllJoyn Studio uzantısını kullanıyor. İkinci izleyici için ek bir BusAttachement gerekiyor. İki gözlemci arasında tek bir otobüs paylaşılamaz. Bu, MSDN forumunda aldığım yanıttır.

aynı link burada AllJoyn Studio - Multiple Interface Implementation

olduğunu
İlgili konular