我一直在研究的.NET应用程序挂在某个函数调用上,我认为这是因为有一个特定的4函数创建循环依赖。我已经列出了他们称之为的功能和其他功能:
的Javascript
// Fires on user scroll event
function ScrollHandler() {
//...
// Calls the following C# function when a user scrolls
window.external.UserScroll();
}
// Called by C# function UpLoadJson()
function drawTimeline(JsonData) {
//...
}
C#
// Called by Javascript function ScrollHandler()
void UserScroll()
{
//...
UpLoadJson();
}
void UpLoadJson()
{
//...
browser.Document.InvokeScript("drawTimeline", new String[] {data});
}
使用“->
”表示函数调用,我认为正在发生的事情是:
ScrollHandler(/*JS*/) -> UserScroll(/*C#*/) -> UpLoadJson(/*C#*/) -> drawTimeline(/*JS*/)
但是Javascript无法运行drawTimeline()
,因为它正在等待ScrollHandler()
先返回;在调用drawTimeline()
之前,这不会返回。
这可能是我的应用程序挂起此函数调用的原因吗?我该怎么做才能解决这个问题?