0

Signalr では、コールバックの代わりにイベントを使用するためのサポートはありますか?

熊手をつかむ前に説明させてください。

ここの最初の例に従ってください

Clients.All.addContosoChatMessageToPage(name, message);

ハブ プロキシの addContosoChatMessageToPage(name, message) は呼び出されませんが、いくつかの追加情報を含む addContosoChatMessageToPage イベントがディスパッチされます。(正確に同じ API 呼び出しであることを求めているわけではありません)

私がこのすべてを尋ねている理由は、

  1. これは、 ELMbacon.jsなどの関数型リアクティブ プログラミング フレームワークと一緒に使用すると、はるかにうまく機能します。
  2. 私はこれを自分でやりたくないので、本質的に自分のサブフレームワークを作成します。もちろん、いつでも Clients.All.CreateEvent(name,params...) を実行できます。ここで、このイベント作成を行うためにメソッドを継続的にコールバックしています
  3. 私は実際、懸念の分離のためのいくつかのシナリオでは、イベントの方がうまく機能すると思います。

私はクレイジーですか?このようなものは存在しますか?

4

1 に答える 1

1

これはすでにサポートされています。自分でディスパッチを行いたくない場合で、実行時に「イベント」または「メソッド」の名前がわかっている場合は、次のようにできます。

IClientProxy proxy = Clients.All;
proxy.Invoke(name, args);

これにより、コンパイル時にクライアントでコールバックしようとしているイベントの名前がわからないコードを記述できます。

于 2013-08-21T08:13:11.390 に答える