本帖最后由 ghostlyt 于 2020-11-19 09:58 编辑
使用版本:C1 2017 v3 日文版
现象:C1Calendar设置AutoPostBack为True,
在频繁点击日期时,会随机出现内存占用异常的情况(IIS内存快速上升至溢出)
系统日志:
Process information:
Process ID: 12080
Process name: w3wp.exe
Account name: A28190221040011\Administrator
Exception information:
Exception type: OutOfMemoryException
Exception message: プログラムの実行を続行するための十分なメモリがありませんでした。
場所 System.Text.StringBuilder.ExpandByABlock(Int32 minBlockCharCount)
場所 System.Text.StringBuilder.Append(Char value, Int32 repeatCount)
場所 System.Text.StringBuilder.Append(Char value)
場所 #lJi.#gMi.#od()
場所 #lJi.#gMi.#Ly()
場所 #lJi.#gMi.#X4b()
場所 #lJi.#gMi.#Ly()
場所 C1.Web.Wijmo.Controls.JsonHelper.StringToObject(String s)
場所 C1.Web.Wijmo.Controls.C1Calendar.C1Calendar.#QLi(String #RLi, NameValueCollection #SLi)
場所 System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad)
場所 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Request information:
Request URL: http://172.16.150.88/uriage/NAW999.aspx
Request path: /uriage/NAW999.aspx
User host address: 172.16.150.88
User:
Is authenticated: False
Authentication Type:
Thread account name: A28190221040011\Administrator
Thread information:
Thread ID: 34
Thread account name: A28190221040011\Administrator
Is impersonating: False
Stack trace: 場所 System.Text.StringBuilder.ExpandByABlock(Int32 minBlockCharCount)
場所 System.Text.StringBuilder.Append(Char value, Int32 repeatCount)
場所 System.Text.StringBuilder.Append(Char value)
場所 #lJi.#gMi.#od()
場所 #lJi.#gMi.#Ly()
場所 #lJi.#gMi.#X4b()
場所 #lJi.#gMi.#Ly()
場所 C1.Web.Wijmo.Controls.JsonHelper.StringToObject(String s)
場所 C1.Web.Wijmo.Controls.C1Calendar.C1Calendar.#QLi(String #RLi, NameValueCollection #SLi)
場所 System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad)
場所 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
请问发生此问题可能的原因以及解决办法?
追加说明:
使用内存分析工具可以看到进程中产生了一个巨大的StringBuilder对象,内容不得而知。
怀疑是上面调用堆栈的System.Text.StringBuilder.Append部分出现了死循环造成内存枯竭。
|
|