执行异步调用的Websharper返回服务器错误500

时间:2017-07-22 21:18:48

标签: .net web f# async-await websharper

我尝试使用SQLProvider和sqlite作为db进行异步数据库查询。服务器端功能如下所示

[Rpc]
let dbAsyncCall () =
    async {
        return! query {
            // ...
        } |> Seq.executeQueryAsync
    } 
    |> Async.StartAsTask 
    |> Async.AwaitTask 

在客户端,我称之为

async {
    let! data = Server.dbAsyncCall ()
    // ...
} |> Doc.Async

当代码执行时,我收到以下错误

enter image description here

发生了什么?

谢谢!

更新

好吧,问题似乎与在sqlite上执行查询有某种关系。我的意思是如果尝试执行简单的异步操作async { return 5},它会毫无问题地执行,但是当我执行任何与数据库相关的查询并用async包围它时,我收到错误。我知道SQLProvider支持异步查询,也许是sqlite lib本身的问题?

更新2:

js方面显示什么错误 enter image description here

1 个答案:

答案 0 :(得分:0)

是的,我在服务器端的呼叫中尝试使用SQLite时收到了与您相同的错误

setlocale(LC_TIME, 'it_IT');
echo (strftime("%e %B %Y", strtotime("02/28/2002")) );

/*OUTPUT*/
28 febbraio 2002

在另一个更新的方面看看我的错误 How to use SQLite while building web using Websharper or Suave?