SharePoint log分析——Thread abort的可能情况
每当SharePoint报错的时候,详细的信息会记录在log中,一般的错误很快就可以得到确认并解决,但是有时候在log中出现的“Thread was being aborted”,总是让人一头雾水 ,无从下手,这里根据经验总结了几个可能出现"Thread was being aborted"的情况。
第一种情况:Access Denied
我们知道,通常情况下Try Catch是不能捕捉到Access Denied这个异常的。有时候Access Denied会导致“Thread was being aborted”。这种情况下,需要查找一下代码中需要较高权限的操作和提升权限的地方,或者,将“SPSecurity.CatchAccessDeniedException”设置为false,就可以catch住这个异常并且分析了。
2. 第二种情况,数据库超时
如果一次数据库操作时间过长,可能会因为超时出现Thread aborted的情况。例如下面的错误信息:
System.Threading.ThreadAbortException: Thread was being aborted.
at SNIReadSync(SNI_Conn* , SNI_Packet** , Int32 )