ClassA'da aşağıdaki kodu kullanarak prizma olaylarına abone oluyorum ve aboneliği iptal ediyorum. Sorunum,'dan sonra aboneliği iptal ediyorum ve aynı olay için farklı bir işleyici kaydeder başka bir tamamen farklı sınıf, ClassB, ClassA işleyicisi hala çağrılır. Bu neden?Prism Abonelik belirteci ile abonelikten çıkma Not
boşuna bir belirteç olarak kayıt esnasında kullanılan yöntem temsilci, her ikisini de kullanarak hem listesinden çıkma çalıştılar.
SubscriptionToken _subscriptionToken;
//register subscription + handler
var pevent = GetEventAggregator().GetEvent<PriceSubscriptionEvent>();
_subscriptionToken = pevent.Subscribe(r =>
{
DataHandler(r);
return;
}, ThreadOption.BackgroundThread, false, null);
//Unsubscribe
var pevent = GetEventAggregator().GetEvent<PriceSubscriptionEvent>();
pevent.Unsubscribe(_subscriptionToken);
Adamım, bende aynı sorun vardı ve sonunda çözdüm ... ama bu bir yıl önce bitti ve şimdi ne yapılacağını ya da çalışmanın ne olduğunu hatırlayamıyorum. : \ – xanadont
http://stackoverflow.com/questions/4310663/wpf-prism-event-subcriptions-not-dying – xanadont
SubscriptionToken ayrıca IDisposable uygular. EventAggregator'da Aboneliği iptal etmek yerine Dispose'ı kullanmaya çalıştınız mı? – Jehof