F#SignalR动态类

时间:2013-11-29 15:36:55

标签: f# signalr

我正在使用F#编写SignalR教程,我遇到了一个问题。 SignalR IHubConnectionContext具有动态的.All属性。您应该在此定义客户端将连接以接收来自服务器的通知的方法。它在C#中运行良好。但是,在F#中,我得到了:

  

字段,构造函数或成员'yourMethodHere'未定义

有没有人有任何想法?提前谢谢。

1 个答案:

答案 0 :(得分:5)

我在F#中使用了自托管信号器,它运行得很好。我还有两个不同的库可以弥合你所拥有的这个鸿沟。

:一种。

您可以使用我的apache许可开源库FSharp.Interop.DynamicPCL w/ .net 4.5, WinRT, Silverlight 5.0),使用?实现后期绑定运算符DLR

open FSharp.Interop.Dynamic

...

Clients.All?yourMethodHere(some, args)

<强>乙

如果你想要更多打字。我还写了另一个apache许可库ImpromptuInterface.net 4.0 or Silverlight 5.0),它将生成一个dlr代理接口。这样您就可以定义一个与dlr对象通信的接口。

type IClientsAll =
    abstract yourMethodHere : string * string -> unit

...

open ImpromptuInterface

...

let clientsAll = Clients.All.ActLike<IClientsAll>()
clientsAll.yourMethodHere(some, args)