我想在另一个Web服务调用中使用Web服务呼叫的结果,该呼叫正是在此之后...但是第二个WebService在第一个Webs服务的结果之前被调用。...我正在使用WP7应用程序....
PhoneService.WebServiceSoapClient register = new PhoneService.WebServiceSoapClient();
register.InsertNewCollegeCompleted += register_InsertNewCollegeCompleted;
register.InsertNewCollegeAsync(newCollegeName);
register.InsertNewCollegeCompleted += register_InsertNewCollegeCompleted;
register.insertdataCompleted += register_insertdataCompleted;
register.insertdataAsync(Name.Text, email.Text, contact.Text,
int.Parse(partnerid.Text.Substring(2)), student_no.Text, pass.Text,
gender, branchid, yearid, collegeid, shirtreqd, accom);
register.insertdataCompleted += register_insertdataCompleted;
void register_insertdataCompleted(object sender, PhoneService.insertdataCompletedEventArgs e)
{
MessageBox.Show("TT ID is" + e.Result);
}
void register_InsertNewCollegeCompleted(object sender, PhoneService.InsertNewCollegeCompletedEventArgs e)
{
collegeid = e.Result;
}
您可以使用asynccalls,基本上您想先使用注册,然后在您的登录API中响应。
我已经通过异步呼叫等待来完成此操作,您可以查看链接。http://developer.nokia.com/community/wiki/asynchronous_programming_for_windows_phone_8而且这也将有所帮助:
http://www.codeproject.com/articles/518856/task-parallel-library-library-and-andashc-await-functionconitit
以第一个服务调用的完成方法执行第二个Web服务调用
在您的情况下,请在register_insertnewcollegecleded中致电register.insertdataasync方法为
{
....
....
PhoneService.WebServiceSoapClient register =
new PhoneService.WebServiceSoapClient();
register.InsertNewCollegeCompleted += register_InsertNewCollegeCompleted;
register.InsertNewCollegeAsync(newCollegeName);
....
....
}
void register_InsertNewCollegeCompleted(object sender, PhoneService.InsertNewCollegeCompletedEventArgs e)
{
collegeid = e.Result;
register.insertdataCompleted += register_insertdataCompleted;
register.insertdataAsync(Name.Text, email.Text, contact.Text,
int.Parse(partnerid.Text.Substring(2)), student_no.Text, pass.Text,
gender, branchid, yearid, collegeid, shirtreqd, accom);
}
void register_insertdataCompleted(object sender, PhoneService.insertdataCompletedEventArgs e)
{
MessageBox.Show("TT ID is" + e.Result);
}