Prism取消订阅订阅令牌不起作用

mik*_*010 7 .net c# prism

我使用以下ClassA中的代码订阅和取消订阅prism事件.我遇到的问题是我取消订阅之后,另一个完全不同的类,比如ClassB,使用不同的处理程序注册同一事件,仍然会调用ClassA处理程序.为什么是这样?

我已尝试使用令牌取消订阅以及注册时使用的方法委托,两者都无济于事.

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);
Run Code Online (Sandbox Code Playgroud)

tec*_*fun 0

我不确定这里的订阅令牌代码。

但是,我们可以订阅和取消订阅事件,如下所示:

evenaggregator.GetEvent<EventName>().Subscribe(eventhandler);
Run Code Online (Sandbox Code Playgroud)

evenaggregator.GetEvent<EventName>().Unsubscribe(eventhandler);
Run Code Online (Sandbox Code Playgroud)

这个对我有用。