json - function not executing in correct step by step order -


i've got 2 webclient methods executing 1 after another.

problem is, first 1 executes finishes executing after second one.

my main issue that, in order second method excecute, first method first needs complete because second method requires data first method execute successfully.

 {  string name; string surname; string url1 =" //sample/1"; string url2 ="//sample/2";         //execution point!         public void listbox_selectionchagned(object sender, selectionchangedeventargs e)         {             var sel = ((listbox)contextmenupopup.child).selecteditem;               subname = convert.tostring(sel);               try             {                  webclient webclient = new webclient();                 uri uri = new uri(url1);                 webclient.openreadcompleted += new openreadcompletedeventhandler(webclient_openreadcompleted1);                 webclient.openreadasync(uri);               }             catch (exception ex)             {                 messagebox.show(ex.message);             }   try             {                   webclient webclient = new webclient();                 uri uri = new uri(url2 + name);                 webclient.openreadcompleted += new openreadcompletedeventhandler(webclient_openreadcompleted2);                 webclient.openreadasync(uri);                 system.diagnostics.debug.writeline(url2 + name);              }             catch (exception ex)             {                 messagebox.show(ex.message);             }    }   //method1        void webclient_openreadcompleted1(object sender, openreadcompletedeventargs e)         {             datacontractjsonserializer ser = null;             try             {                 ser = new datacontractjsonserializer(typeof(observablecollection<subscriptions>));                 observablecollection<subscriptions> alldata = ser.readobject(e.result) observablecollection<subscriptions>;                 foreach (data _dt in alldata)                 {                      name = first_name;                      surname = surname;                         system.diagnostics.debug.writeline("my first name "  + name);                   }              }             catch (exception ex)             {                 messagebox.show(ex.message);             }          }  //method2         void webclient_openreadcompleted2(object sender, openreadcompletedeventargs e)         {             datacontractjsonserializer ser = null;             try             {                 ser = new datacontractjsonserializer(typeof(observablecollection<subscriptions>));                 observablecollection<subscriptions> alldata = ser.readobject(e.result) observablecollection<subscriptions>;                 foreach (data _dt in alldata)                 {                      name = first_name;                      surname = surname;                       }              }             catch (exception ex)             {                 messagebox.show(ex.message);             }    } public class data      {           public string first_name { get; set; }         public string surname { get; set; }     } } 

summary: need value"name" in first method , use append url2 in second method?

but second method completes before first method?

then move following code selectionchanged event handler webclient_openreadcompleted1 event handler

webclient webclient = new webclient(); uri uri = new uri(url2 + name); webclient.openreadcompleted += new openreadcompletedeventhandler(webclient_openreadcompleted2); webclient.openreadasync(uri); system.diagnostics.debug.writeline(url2 + name); 

that means, have make second request after successful completion of first request.


Comments

Popular posts from this blog

c# - SVN Error : "svnadmin: E205000: Too many arguments" -

c# - Copy ObservableCollection to another ObservableCollection -

All overlapping substrings matching a java regex -