はありまIQueryableような追加IObservable?(.純Rx)
-
19-09-2019 - |
質問
新IObservable/IObserverの枠組みます。反応性図書館が入りました。NET4.0ても楽しいものを参照 この や この している。
するのに早すぎると推測さがあります(不良期)IQueryableような枠組み構築のためのこれらの新しいインターフェイスでも見ることができますか?
一特定の用途の場合する支援の前処理イベントのソースは、チェーンの受けます。例えば、非常に'街のメインイベントインタフェースを使用 Subscribe().Where(...)
を受けるすべてのイベントを通じて、パイプラインのクライアントはこのフィルタリング
えんがる場合がありますうIQueryableObservableることLINQの方法は'作成'一部'のスマート' Subscribe
実施ソースです。なんとなく想像できるネットワークサーバアーキテクチャの利用可能な枠組み又はか月をSQLサーバー(又はそのRDBMSないことを与えることができます。純コード新しいデータの届出(トリガーコード)が必要な方は通知フィルタサーバ側です。
解決
、こちらをクリックして下さいたので最新のリリースのRxのインターフェースと呼ばれ IQbservable するものとしてIQueryableObservable).テニチャンネル9のビデオは、早期のまま次週へ続きます。
に位置づけこのエリアをクリックすべきものが存在することを実感している概念的には三つの直交軸にRx/Ixパズル:
- 何 のデータモデルはまお使いいただけます。こちらのお引に基づく対の押しに基づくモデルです。との関係に基づく 双対性.変化の間に存在する人の世界(例:ToEnumerable).
- 場所 実行する操作カスタマイズされたアクエリ(扇子ラト).特定の事業者が必要並行処理.この ケジューリング のIScheduler面します。事業者が存在するホップと並行処理ドメイン(例えばObserveOn).
- どのよう query式のニーズを実行することを示しています。はバーベイタム(IL)またはtranslatable(表現しています。との関係に基づく homoiconicity.変換の間に存在するの両方の表示例AsQueryable).
すべてのIQbservableインターフェース(のデュアルをIQueryableの表現のツリー表現のIObservableクエリを最後ます。時には人々が混乱法のクエリーの翻訳(how to run)とリモ面の"場"である。が一般的だ 翻訳 クエリが対象言語などのWQL,ユ,DSQLsクラウド通知サービスなど) や リモート しっかけとなり、最終的には標的システムは、不可能を分離し.たとえば、表現の木で表現したい 地 クエリを最適化する
について可能なセキュリティの関係上、これは、IQueryable力です。通常、人リモートの表現言語に限らずどの国に行くにせよ、真の側面の実行に先立ち"事業者(どのような手段以外の言語主義的機能)特に、加入および運営に滞在地域のお出queryable monadそれから、ログイン画面から起動翻訳は、GetEnumeratorは、世界のIQueryable).どん遠隔の加入ってしまい、想像力します。
開始ボタンをクリ 最新のビット 今日のお知らせくださいお返事ありがとうございます。.も乞うご期待にチャンネル9のビデオはこの新しい機能を含め、議論のあるデザイン理念です。
他のヒント
、私はこれを実装について、いくつかの予約を持っているでしょう。
1)あなたはのIQueryableで使用される非自明なラムダ式をシリアル化することができないのと同じように、受信のためにこれらを直列化することは同様に困難であろう。あなたはおそらく、このフレームワークの一部として、複数行とステートメントラムダをシリアル化することができるようにしたいでしょう。これを行うには、あなたはおそらくエリックマイヤーの他のペットのプロジェクトのようなものを実装する必要があります - 。ドライアドとボルタを
2)あなたはこれらのラムダ式をシリアル化できたとしても、私はクライアントから送信されたサーバー上で任意のコードを実行する可能性を懸念だろう。これは、簡単にクロスサイトスクリプティングよりもはるかに大きなセキュリティ上の問題を引き起こす可能性があります。私は、クライアントがサーバに式を送信することを可能にする潜在的な利点は、セキュリティ上の脆弱性の影響を上回る実行することを疑うます。
8(10)年に 私上 Qactive (旧Rxx) Rx.Net ベqueryable反応性のtcpサーバプロバイダ その答えは、"問い"
サーバー
Observable
.Interval(TimeSpan.FromSeconds(1))
.ServeQbservableTcp(new IPEndPoint(IPAddress.Loopback, 3205));
お客様
var datasourceAddress = new IPEndPoint(IPAddress.Loopback, 3205);
var datasource = new TcpQbservableClient<long>(datasourceAddress);
(
from value in datasource.Query()
//The code below is actually executed on the server
where value <= 5 || value >= 8
select value
)
.Subscribe(Console.WriteLine);
していただきました恍ではないですが、お客様の言うこともできなかよくしたいデータも受け取り、サーバはまだ限界や制御が、いつ、どのように頻繁にデータはどこに戻ります。
詳細はこの https://github.com/RxDave/Qactive
他のブログです。サンプル
https://sachabarbs.wordpress.com/2016/12/23/rx-over-the-wire/
私は反応性の枠組みで解決見てみたい一つの問題は、それが可能だ場合は、Webサービスやその他のプルのみのサービスからのキャッシュされたデータの通知を変更するには、発光やsubcriptionを可能にされています。
これは、新しいchannel9 <のhref = "http://channel9.msdn.com/shows/Going+Deep/Kim-Hamilton-and-Wes-Dyer-Inside-NET-Rx-and-に基づいて、表示されますIObservableIObserverイン-BCL-VS-2010 /」REL = "nofollowをnoreferrer">インタビューに、.NET 4のBCLでIObserver
/ IObservable
ためのLINQのサポートが存在すること。
しかし、あなたがそれを置くように、この段階では、それは「スマート購読する」ように見えないので、それは、本質的に、LINQツーオブジェクトスタイルのクエリになります。それは限り、基本的な実装では、(上記のインタビューから私の理解から).NET 4に行くようです。
のことを言って、反応性フレームワーク(Rx)がIObserver
/ IObservable
のより詳細な実装を持っていること、またはあなたはExpression<Func...>
のPARAMATERSためSubscribe
で独自の通過を書き込むことができ、次いで使用しますあなたがに加入されているイベントチャネルに合った、よりスマートな方法で購読するFunc
の式ツリーます。