Observable.FromEvent<> 无法使用 Umbraco ContentService.Published
Observable.FromEvent<> not working with Umbraco ContentService.Published
我正在尝试使用 Rx 连接 Umbraco 事件:
Observable.FromEvent<TypedEventHandler<IPublishingStrategy, PublishEventArgs<IContent>>, PublishEventArgs<IContent>>(
h => ContentService.Published += h, h => ContentService.Published -= h).Subscribe(Console.WriteLine);
但是我在订阅时从 Rx 的深处得到了一个异常:
Cannot bind to the target method because its signature or security transparency is not compatible with that of the delegate type.
我可以使用不太干净的解决方法让它工作:
var subject = new Subject<PublishEventArgs<IContent>>();
ContentService.Published += (sender, args) => subject.OnNext(args);
subject.Subscribe(Console.WriteLine);
但是,我如何使用 Observable.FromEvent<> 连接它?
根据 Enigmativity 的建议,这是有效的解决方案:
Observable.FromEventPattern<TypedEventHandler<IPublishingStrategy, PublishEventArgs<IContent>>, PublishEventArgs<IContent>>
(h => ContentService.Published += h, h => ContentService.Published -= h).Subscribe(Console.WriteLine);
我正在尝试使用 Rx 连接 Umbraco 事件:
Observable.FromEvent<TypedEventHandler<IPublishingStrategy, PublishEventArgs<IContent>>, PublishEventArgs<IContent>>(
h => ContentService.Published += h, h => ContentService.Published -= h).Subscribe(Console.WriteLine);
但是我在订阅时从 Rx 的深处得到了一个异常:
Cannot bind to the target method because its signature or security transparency is not compatible with that of the delegate type.
我可以使用不太干净的解决方法让它工作:
var subject = new Subject<PublishEventArgs<IContent>>();
ContentService.Published += (sender, args) => subject.OnNext(args);
subject.Subscribe(Console.WriteLine);
但是,我如何使用 Observable.FromEvent<> 连接它?
根据 Enigmativity 的建议,这是有效的解决方案:
Observable.FromEventPattern<TypedEventHandler<IPublishingStrategy, PublishEventArgs<IContent>>, PublishEventArgs<IContent>>
(h => ContentService.Published += h, h => ContentService.Published -= h).Subscribe(Console.WriteLine);