c# - Calling dynamic callback function from an async method in the ScriptingObject of the BrowserControl throws Exception -
i'm calling callback function async function inside browser control scripting object. method first called javascript , tries callback. reason crashes application system.reflection.targetinvocationexception.
the method looks this:
public void searchapps(string query, dynamic callback) { threadmanager.querygamesasync(query, mainform.portal, log, (list) => { string[] strlist = new string[list.length]; for(int = 0; < strlist.length; i++) { strlist[i] = list[i].uid; } string data = json.serialize(strlist); callback(data); }); } and query method looks this:
public static async void querygamesasync(string query, portal p, log log, action<game.identifier[]> callback) { callback(await task.factory.startnew<game.identifier[]>(() => { return game.find(query, p, log); })); } (i'm using microsoft await binding .net 4.0 , winforms default browser control)
the full exception looks this: http://pastebin.com/it9mtrak
edit:
the problem seems happen when call async function javascript callback function:
function searchgames(query) { window.external.searchapps(query, function (list) { var js = json.parse(list); (var = 0; < js.length; i++) { //window.external.log(js[i]); appendappbox(el, list[i]); } }); } and
function appendappbox(parent, uid) { window.external.getappinfo(uid, function (json) { var info = json.parse(json); parent.innerhtml += getappbox(info); updateappstatus(uid); }); } as can see, callback search calls appendappbox, in turn calls getappinfo callback function parameter. both callback functions work on own, application crashes when nested. why ? tried invoking callbacks via browsercontrol, didn't make difference.
okay found issue. perplexingly simple js syntax error caused ton of exceptions point of crashing visual studio. caught exception , turns out hresult 0x80020101 points simple javascript syntax error in callback function.
Comments
Post a Comment