2016-11-02 36 views
0

我有一個運行在Azure上的C#/ MS Bot Framework構建的bot。它工作正常,但Azure中的HTTP日誌顯示大量失敗的HTTP請求,大約佔總數的20%。Bot框架中的錯誤500,InvalidOperationException異步模塊或處理程序完成異步操作pending

當我啓用失敗請求跟蹤,這就是我在日誌中看到:

網址:/ API /消息

的 當前Web請求的執行過程中生成了未處理的異常。

I:關於起源和 異常位置的信息可以使用異常堆棧跟蹤

[異步模塊或處理程序 而異步操作仍有待完成出現InvalidOperationException]來識別無法從日誌中提取更多詳細信息,包括堆棧跟蹤(它是空的)。

機器人在模擬器中也能正常工作。通過Facebook與機器人通話時出現失敗的請求,即使用戶可以正常地與機器人進行交互,儘管看起來失敗的請求也是如此。

我找不出哪部分代碼甚至可能會導致此問題,而我的其他機器人似乎沒有此問題。

我懷疑它可能是我用context.Done(this)來終止對話框,但這似乎是一個正常的做法來使用它。值得讚賞的是,任何指示或想法的哪部分代碼可能導致這種情況,或者如何提取關於該錯誤的更多細節。謝謝。

回答

0

沒有看到代碼有點難以確切地知道發生了什麼,但是異常在異步/等待世界中很常見。通常這意味着模塊/處理程序完成和異步方法完成之間存在爭用條件。

我會尋找異步方法調用,但不是等待。

一些相關的讀數:

相關問題