我正在使用F#编写SignalR教程,我遇到了一个问题.SignalR IHubConnectionContext具有动态的.All属性.您应该在此定义客户端将连接以接收来自服务器的通知的方法.它在C#中运行良好.但是,在F#中,我得到:
未定义字段,构造函数或成员"yourMethodHere"
有没有人有任何想法?提前致谢.
我在F#中使用了自托管信号器,它运行得很好.我还有两个不同的库可以弥合你所拥有的这个鸿沟.
一个.
你可以使用我的Apache许可证开源库FSharp.Interop.Dynamic(PCL w/ .net 4.5, WinRT, Silverlight 5.0
)实现后期绑定运营商?
使用DLR
.
open FSharp.Interop.Dynamic
...
Clients.All?yourMethodHere(some, args)
B.
如果你想要更多打字.我还写了另一个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)