Я хочу построить простой счетчик с помощью Suave.
[<EntryPoint>]
let main argv =
let mutable counter = 0;
let app =
choose
[
GET
>=> choose
[
path "/" >=> OK "Hello, world. ";
path "/count" >=> OK (string counter)
]
POST
>=> choose
[
path "/increment"
>=> (fun context -> async {
counter <- counter + 1
return Some context
})
]
]
startWebServer defaultConfig app
0
Однако, с моим текущим решением, счет на /count
никогда не обновляется.
Я думаю, это потому, что WebPart
вычисляется при запуске приложения, а не для каждого запроса.
Каков наилучший способ добиться этого в Суаве?