У меня есть следующий код клиента:WebSharper не может десериализации профсоюзную типа
|>! OnClick (fun _ _ -> Server.CreateBug input.Value |> Server.SendCommand)
Вот тип и сервер код:
type Command =
| CreateBug of string
| Query of Query * AsyncReplyChannel<string>
[<Rpc>]
let SendCommand cmd =
dispatcher.Post cmd
Клиент может сериализовать это: [{ «$» : 0, "$ 0": "тест"}]
Но тогда я получаю следующее сообщение об ошибке журнала при отладке:
WebSharper.Web Error: 0 : Failed to execute a remote call. Failed to get JSON deserializer for: ClientReferral.Server+Command[]
WebSharper Error: 0 : Failed to execute a remote call. Failed to get JSON deserializer for: ClientReferral.Server+Command[]
Этот код довольно тривиален и, похоже, ничего не говорит о том, что он не будет работать в руководстве по WebSharper. Я даже помню, как это использовал, поэтому я не знаю, что случилось.
Edit: Это определение запроса:
type Query =
| GetBugs
| GetBugInfo of int
Предполагается, что 'Query of Query' должен быть' Query of Command'? – ildjarn
В принципе, я хочу отправить команды или запросы на сервер, запросы обычно будут завернуты в команду с помощью ReplyChannel и отправлены агенту. –