Les nouveaux frameworks iobservable / iobserver dans la bibliothèque System.Reactive arrivant à .NET 4.0 sont très excitants (voir Ceci et Ce lien ). P>
Il peut être trop tôt pour spéculer, mais il y aura également un (faute d'un meilleur terme) de manière iquéreuse de type iquéry conçu pour ces nouvelles interfaces aussi bien? P>
Un cas d'utilisation en particulier serait d'aider dans les événements de prétraitement à la source, plutôt que dans la chaîne des appels de réception. Par exemple, si vous avez une interface d'événement très «chatty», en utilisant le Qu'est-ce que je me demande, c'est s'il ya quelque chose d'apprécier à IqueryAlyBserver, où ces méthodes Linq seront "compilées" dans certains "intelligents" S'abonner (). Où (...) code> recevra tous les événements via le pipeline et le client effectue le filtrage. p>
S'abonner code> implémentation dans une source. Je peux imaginer certaines architectures de serveur de réseau pouvant utiliser un tel cadre. Ou comment diriez-vous d'un complément à SQL Server (ou de tout RDBMS pour cette matière) qui permettrait à .NET Code de recevoir de nouvelles notifications de données (déclencheurs en code) et aurait besoin de ces notifications filtrées Server-côté. P>
5 Réponses :
Bien que cela ressemble à une possibilité intéressante, j'aurais plusieurs réserves sur la mise en œuvre de cela. P>
1) Tout comme vous ne pouvez pas sérialiser les expressions de Lambda non triviales utilisées par IQuerisable, sérialisez-celles-ci pour RX seraient similaires difficiles. Vous voudrez probablement pouvoir sérialiser la multi-lignes et la déclaration Lambdas dans le cadre de ce cadre. Pour ce faire, vous auriez probablement besoin de mettre en œuvre quelque chose comme les autres projets d'animaux de l'Erik Meijer - Dryad et Volta. P>
2) Même si vous pouviez sérialiser ces expressions Lambda, je serais préoccupé par la possibilité de courir du code arbitraire sur le serveur envoyé du client. Cela pourrait facilement poser une préoccupation de sécurité bien supérieure à celle des scripts croisés. Je doute que le bénéfice potentiel de permettre au client d'envoyer des expressions au serveur d'exécuter l'empreinte des implications de la vulnérabilité de sécurité. P>
Salut Jim, les gars RXX ont mis un fournisseur IQBERVABLABLE TCP, qui a ces problèmes de sécurité ... mais ils sont capables de priorialiser tout sauf expressions dynamiques et déboguées ... bonnes choses, sauf la partie de sécurité ... :) , c'est une ALHHPA. :)
Ce ne serait pas un problème si vous utilisez une appdomaine restreinte sur le serveur pour accueillir les observables
Un problème J'aimerais bien voir résolu avec le cadre réactif, s'il est possible, permet une modification des émissions et de la souscription de modifier les notifications pour les données en cache des services Web et d'autres services tirant uniquement. P>
Il apparaît, sur la base d'une nouvelle chaîne9 Interview , qu'il y aura une prise en charge LINQ pour Cependant, ce sera essentiellement des requêtes de style Linq-to-objets, donc à ce stade, cela ne ressemble pas à un «Smart Subscribe» au fur et à mesure que vous le mettez. C'est aussi loin que les implémentations de base vont à .NET 4. (de ma compréhension de l'entretien ci-dessus) p>
ayant dit que em>, le cadre réactif (RX) peut avoir des implémentations plus détaillées de iobserver code> /
iobservable code> dans le BCL de .NET 4. P>
iobserver code> /
iobservable code> ou pour que vous puissiez être capable de Ecrivez votre propre passage en transmission
expression
S'abonner code> Parmi les paramaters, puis à l'aide de l'arborescence d'expression du
FUNC code> pour vous abonner à un manière plus intelligente qui convient au canal d'événement que vous vous abonnez. P>
Eh bien, vous l'avez eu dans la dernière version de RX, sous la forme d'une interface appelée Pour situer un peu de cette fonctionnalité, il faut se rendre compte qu'il y a des axes orthogonaux conceptuellement au puzzle RX / IX: P>
Toutes l'interface IQBerServable (qui est la double à iquérissable et la représentation de l'arborescence d'expression d'une requête iobervable) active est le dernier point. Parfois, les gens confondent l'acte de la traduction de la requête (le «comment» à courir) avec des aspects à remotage (le «où» à courir). Tandis que vous faites généralement traduire les requêtes em> dans une langue cible (telle que WQL, PowerShell, DSQLS pour les services de notification de cloud, etc.) et la télécommande em> dans un système cible, les deux préoccupations peut être découplé. Par exemple, vous pouvez utiliser la représentation de l'arborescence d'expression pour faire l'optimisation de la requête locale em>. P>
En ce qui concerne les problèmes de sécurité possibles, ce n'est pas différent des capacités iquérissables. En règle générale, on ne fera que remonter le langage d'expression et non aucun opérateur «vraiment effectif sur latéralement» (tout ce qui signifie que les langues autres que fondamentalistes fonctionnelles). En particulier, les opérations de souscription et d'exécution restent locales et vous emmènent hors de la monade requérable (donc déclenchant la traduction, tout comme Getenumerator dans le monde de Iquerisable). Comment vous êtes éloigné de l'acte de souscrire est quelque chose que je vais laisser à l'imagination du lecteur. P>
Commencez à jouer avec le Dernières bits Aujourd'hui et laissez-nous savoir ce que vous pensez. Restez également à l'écoute pour la prochaine vidéo de la chaîne 9 sur cette nouvelle fonctionnalité, y compris une discussion sur une partie de sa philosophie de conception. P>
Découvrez la vidéo de Bart sur Channel 9 Discuter de IQOBServable: canal9.msdn.com/shows/ing/ingfeep/...
8 (maintenant 10) ans dans le futur: strong> J'ai trébubli sur qactive a> (ancien RXX), un RX.net Fournisseur de serveur TCP requis
C'est la réponse à la "question en question" client fort> p> < PRE> XXX PRE> Quel esprit soufflant à ce sujet est que les clients peuvent dire quoi et à quelle fréquence ils veulent que les données qu'ils reçoivent et que le serveur puisse toujours limiter et contrôler quand, quelle fréquence et quelle quantité de données qu'elle renvoie . P> Pour plus d'informations sur ce https://github.com/rxdave/qactive A> p> Un autre blog.Sample P> https://sachabarbs.wordpress.com/2016/12/23/rx-over-the-wire/ p> p> P>