F# 带有MapHub的UseEnpoints返回预期单位,但类型为HubEndpointConversationBuilder

F# 带有MapHub的UseEnpoints返回预期单位,但类型为HubEndpointConversationBuilder,f#,signalr,F#,Signalr,我正在尝试用F#来试用SignalR,并创建一个简单的聊天(到处都有教程) 但当我加上 .UseEndpoints(有趣的路线->路线.MapHub(“/chathub”)) 到我的配置应用程序我收到错误 UseEnpoints with MapHub返回预期单位,但类型为HubEndpointConversationBuilder 我一直在研究的所有示例都是使用这样的函数。 有什么想法吗 使用.NetCore 3.1 ChatHub函数如下所示 type ChatHub() = inher

我正在尝试用F#来试用SignalR,并创建一个简单的聊天(到处都有教程)

但当我加上

.UseEndpoints(有趣的路线->路线.MapHub(“/chathub”))

到我的配置应用程序我收到错误

UseEnpoints with MapHub返回预期单位,但类型为HubEndpointConversationBuilder

我一直在研究的所有示例都是使用这样的函数。 有什么想法吗

使用.NetCore 3.1 ChatHub函数如下所示

type ChatHub() =
  inherit Hub()
  member x.SendMessage user msg =
    task {
      do! x.Clients.All.SendAsync("ReceiveMessage", user, msg)
    }
let-configureApp(应用程序:IApplicationBuilder)=
让env=app.ApplicationServices.GetService()
(将环境IsDevelopment()与
|true->app.UseDeveloperExceptionPage()
|false->app.UseGiraffeErrorHandler(错误处理程序)
.UseHttpsRedirection()
.UseCors(配置CORS)
.UseStaticFiles()
错误--->.UseEndpoints(有趣的路线->路线.MapHub(“/chathub”))
.UseGiraffe(网络应用程序)```

MapHub
是一种副作用的操作,返回一个对象以进行进一步的流畅配置<代码>使用端点但是不需要任何东西,即
单元

.UseEndpoints(fun routes -> routes.MapHub<ChatHub>("/chathub") |> ignore)
.UseEndpoints(有趣的路线->路线.MapHub(“/chathub”)|>忽略)
应该解决这个问题。为了将OO的副作用世界与功能世界粘合在一起,经常需要这种“修复”。小心龙:

.UseEndpoints(fun routes -> routes.MapHub<ChatHub> |> ignore)
.UseEndpoints(有趣的路线->路线.MapHub |>忽略)

将很高兴地编译,但可能不会执行预期操作。

非常好,谢谢。这消除了错误。还有一个问题,但至少我离目标还有一步:)
.UseEndpoints(fun routes -> routes.MapHub<ChatHub> |> ignore)