Parse platform parse.com查询在mono下引发堆栈溢出异常

Parse platform parse.com查询在mono下引发堆栈溢出异常,parse-platform,mono,Parse Platform,Mono,我正在构建一个简单的C#mono应用程序,用于从parse.com服务器查询数据 没什么特别的: private static async Task<ParseGameData> DownloadGameData(DateTime dateFrom) { ParseGameData gameData = new ParseGameData(); InitParse(); var qHits = ParseObject.

我正在构建一个简单的C#mono应用程序,用于从parse.com服务器查询数据

没什么特别的:

    private static async Task<ParseGameData> DownloadGameData(DateTime dateFrom)
    {
        ParseGameData gameData = new ParseGameData();
        InitParse();

        var qHits = ParseObject.GetQuery("Hits").WhereGreaterThan("createdAt", dateFrom)
            .Limit(100).OrderBy("createdAt");
        gameData.hits = await qHits.FindAsync();

        return gameData;
    }
这非常有效,在查询少量记录(少于75条记录)时不会引发异常。但如果我将限制设置得更高,应用程序就会崩溃,我会得到以下结果:

    Unhandled Exception:
    System.StackOverflowException: The requested operation caused a stack overflow.
    at System.Threading.Tasks.Task.FinishContinuations () [0x00000] in <filename unknown>:0 
    at System.Threading.Tasks.Task.FinishStageThree () [0x00000] in <filename unknown>:0 
    at System.Threading.Tasks.Task`1[System.Threading.Tasks.TaskExtensions+VoidResult].TrySetResult (VoidResult result) [0x00000] in <filename unknown>:0 
    at System.Threading.Tasks.UnwrapPromise`1[System.Threading.Tasks.TaskExtensions+VoidResult].TrySetFromTask (System.Threading.Tasks.Task task, Boolean lookForOce) [0x00000] in <filename unknown>:0 
    at System.Threading.Tasks.UnwrapPromise`1[System.Threading.Tasks.TaskExtensions+VoidResult].InvokeCore (System.Threading.Tasks.Task completingTask) [0x00000] in <filename unknown>:0 
    at System.Threading.Tasks.UnwrapPromise`1[System.Threading.Tasks.TaskExtensions+VoidResult].Invoke (System.Threading.Tasks.Task completingTask) [0x00000] in <filename unknown>:0 
未处理的异常:
System.StackOverflowException:请求的操作导致堆栈溢出。
在0中的System.Threading.Tasks.Task.FinishContinuations()[0x00000]处
位于:0中的System.Threading.Tasks.Task.FinishStageThree()[0x00000]处
位于System.Threading.Tasks.Task`1[System.Threading.Tasks.TaskExtensions+VoidResult].TrySetResult(VoidResult结果)[0x00000]中:0
在System.Threading.Tasks.Unwromise`1[System.Threading.Tasks.TaskExtensions+VoidResult].TrySetFromTask(System.Threading.Tasks.Task,Boolean lookForOce)[0x00000]中,位于:0
在System.Threading.Tasks.Unwromise`1[System.Threading.Tasks.TaskExtensions+VoidResult].InvokeCore(System.Threading.Tasks.Task completingTask)[0x00000]中打开:0
在System.Threading.Tasks.Unwrapprovisie`1[System.Threading.Tasks.TaskExtensions+VoidResult]。在以下位置调用(System.Threading.Tasks.Task completingTask)[0x00000]:0
。。。然后这些线重复

出于兴趣:数据库中的每条记录大约需要65KB,所以100次点击就需要6.5MB


我在OSX和Linux两个mono平台上尝试过这段代码。这两个平台都会抛出stackoverflow异常。然而,在Windows上,使用.NET,即使有1000个限制,它也可以正常工作。这让我相信这是mono和parse.com库的产物。有什么建议吗?

这似乎是一个解析库错误。我已经将parse lib从1.5.5降级到1.5.4,现在它工作正常。

这是什么版本的mono?
    Unhandled Exception:
    System.StackOverflowException: The requested operation caused a stack overflow.
    at System.Threading.Tasks.Task.FinishContinuations () [0x00000] in <filename unknown>:0 
    at System.Threading.Tasks.Task.FinishStageThree () [0x00000] in <filename unknown>:0 
    at System.Threading.Tasks.Task`1[System.Threading.Tasks.TaskExtensions+VoidResult].TrySetResult (VoidResult result) [0x00000] in <filename unknown>:0 
    at System.Threading.Tasks.UnwrapPromise`1[System.Threading.Tasks.TaskExtensions+VoidResult].TrySetFromTask (System.Threading.Tasks.Task task, Boolean lookForOce) [0x00000] in <filename unknown>:0 
    at System.Threading.Tasks.UnwrapPromise`1[System.Threading.Tasks.TaskExtensions+VoidResult].InvokeCore (System.Threading.Tasks.Task completingTask) [0x00000] in <filename unknown>:0 
    at System.Threading.Tasks.UnwrapPromise`1[System.Threading.Tasks.TaskExtensions+VoidResult].Invoke (System.Threading.Tasks.Task completingTask) [0x00000] in <filename unknown>:0