c# - DeleteAsync MobileServices Timed out -
i have following code.
the c# code on device, windows phone 8:
imobileservicetable<subscription> subsciptionstable = app.mobileservice.gettable<subscription>(); subscriptionitemserveritem = await subsciptionstable.where(subs => subs.userid == app.userinfromationid && subs.contentid == holdelement.newmessages).tolistasync();//only want items await subsciptionstable.deleteasync(subscriptionitemserveritem[0]);
where send delete request azure mobileservice. here have following script:
function del(id, user, request) { var tablea_table = tables.gettable('subscription'); //console.log("about delete subscription:", id); tablea_table.where({ userid: user.userid, id: id}) .read ({ success: deleteitem }); function deleteitem(results) { if(results > 0){ console.log("reached here", id); request.execute(); } } }
i using script verify user allowed delete requesting, i.e. userdeleting has userid matching userid in table.
everything works , reach
request.execute();
but hangs , await on phone, times out. , item not deleted on server either.
what should do? , cause error?
solution
i still did not find error in script. tweaking response got, marked answered found solution be:
function del(id, user, request) { var table = tables.gettable('subscription'); table.where({ id: id }).read({ success: function (results) { if (results.length > 0) { //console.log("log existingitem",results[0].userid); //console.log("log user",user.userid); if (results[0].userid == user.userid) { request.execute(); } else { // console.log("invalid user"); request.respond(statuscodes.bad_request, "invalid user"); } } else { // console.log("not_found"); request.respond(statuscodes.not_found); } }, error: function () { //console.log("not_found_error"); request.respond(statuscodes.not_found); } }); }
try update "delete" function this:
function delete(item, user, request) { var table = tables.gettable('subscription'); table.where({ id: item.id }).read({ success: function (results) { if (results.length) { var existingitem = results[0]; if (existingitem.userid === user.userid) { request.execute(); } else { request.respond(statuscodes.bad_request, "invalid user"); } } else { request.respond(statuscodes.not_found); } }, error: function () { request.respond(statuscodes.not_found); } }); }
Comments
Post a Comment