FaultException未处理 [英] FaultException was unhandled
本文介绍了FaultException未处理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是WP7和Web服务的新手。我在WP7中创建了一个登录页面并创建了一个
Web服务。我需要通过Web服务在访问数据库中存储用户详细信息。我成功地在WP7中使用了Web服务,但是在referance.cs文件中运行时'FaultException未处理'时显示错误。
App_code / Services.cs(webservice code):
[WebMethod]
public string userDetail( int id, string uname, string pwd,< span class =code-keyword> int age, string gender, string place, string country)
{
OleDbConnection con;
OleDbCommand cmd;
con = new OleDbConnection( Provider = Microsoft.ACE.OLEDB.12.0;数据源= C:\\Users \\Amma \\Documents\\UserDetail.accdb);
con.Open();
cmd = new OleDbCommand( insert into登录(id,uname,pwd,年龄,性别,地点,国家)值(?,?,?,?,?,?,?),con);
cmd.Parameters.Add( ?,id);
cmd.Parameters.Add( ?,uname);
cmd.Parameters.Add( ?,pwd);
cmd.Parameters.Add( ?,年龄);
cmd.Parameters.Add( ?,性别);
cmd.Parameters.Add( ?,place);
cmd.Parameters.Add( ?,country);
cmd.ExecuteNonQuery();
con.Close();
return uname;
}
MainPage.xaml.cs(WP7)
string name,pwd,gender,place,country;
int age,id = 0 ;
private void BtnRegister_Click( object sender,RoutedEventArgs e)
{
ServiceReference1.ServiceSoapClient ws = new ServiceReference1.ServiceSoapClient();
ws.userDetailCompleted + = new EventHandler< userDetailCompletedEventArgs>(ws_userDetailCompletd);
ws.userDetailAsync(id,name,pwd,age,gender,place,country);
}
void ws_userDetailCompletd( object sender,userDetailCompletedEventArgs e)
{
id = Convert.ToInt32(textBoxId.Text);
pwd = Convert.ToString(textBoxPwd.Text);
name = Convert.ToString(textBoxName.Text);
age = Convert.ToInt32(textBoxAge.Text);
if (radioBtnMale.IsChecked == true )
{
gender = 男性;
}
else
gender = 女性 跨度>;
place = Convert.ToString(textBoxPlace.Text);
country = Convert.ToString(textBoxCountry.Text);
MessageBox.Show( 已成功注册);
}
referance.cs
public Test.ServiceReference1。 userDetailResponse EnduserDetail(System.IAsyncResult result){
object [] _args = new object [ 0 ];
Test.ServiceReference1.userDetailResponse _result =((Test.ServiceReference1.userDetailResponse)( base .EndInvoke( userDetail,_ args,result)));
return _result;
}
有人请帮助我。谢谢。
解决方案
你需要 catch
异常并处理它。请参阅 http://msdn.microsoft.com/en- us / library / system.servicemodel.faultexception(v = vs.110).aspx [ ^ ]。
我更改了其他语句,但我无法更改为Int32.TryParse。它抛出了一个错误。 没有重载方法'TryParse'需要1个参数。
我的代码:
age = Int32.TryParse(textboxAge.text);
I'm new to both WP7 and web service. I created one login page in WP7 and created one
web service.I need to store user detail in access databse through web service. I successfully consumed web service in WP7 but it show error during runtime 'FaultException was unhandled' in the referance.cs file.
App_code/Services.cs (webservice code):
[WebMethod]
public string userDetail(int id, string uname, string pwd, int age, string gender, string place, string country)
{
OleDbConnection con;
OleDbCommand cmd;
con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\Amma\\Documents\\UserDetail.accdb");
con.Open();
cmd = new OleDbCommand("insert into login(id,uname,pwd,age,gender,place,country)values(?,?,?,?,?,?,?)", con);
cmd.Parameters.Add("?", id);
cmd.Parameters.Add("?",uname);
cmd.Parameters.Add("?", pwd);
cmd.Parameters.Add("?", age);
cmd.Parameters.Add("?", gender);
cmd.Parameters.Add("?", place);
cmd.Parameters.Add("?", country);
cmd.ExecuteNonQuery();
con.Close();
return uname;
}
MainPage.xaml.cs (WP7)
string name, pwd, gender, place, country;
int age, id = 0;
private void BtnRegister_Click(object sender, RoutedEventArgs e)
{
ServiceReference1.ServiceSoapClient ws = new ServiceReference1.ServiceSoapClient();
ws.userDetailCompleted += new EventHandler<userDetailCompletedEventArgs>(ws_userDetailCompletd);
ws.userDetailAsync(id, name, pwd, age, gender, place, country);
}
void ws_userDetailCompletd(object sender,userDetailCompletedEventArgs e)
{
id = Convert.ToInt32(textBoxId.Text);
pwd = Convert.ToString(textBoxPwd.Text);
name = Convert.ToString(textBoxName.Text);
age = Convert.ToInt32(textBoxAge.Text);
if (radioBtnMale.IsChecked == true)
{
gender = "Male";
}
else
gender = "Female";
place = Convert.ToString(textBoxPlace.Text);
country = Convert.ToString(textBoxCountry.Text);
MessageBox.Show("successfully Registered");
}
referance.cs
public Test.ServiceReference1.userDetailResponse EnduserDetail(System.IAsyncResult result) {
object[] _args = new object[0];
Test.ServiceReference1.userDetailResponse _result = ((Test.ServiceReference1.userDetailResponse)(base.EndInvoke("userDetail", _args, result)));
return _result;
}
Someone pls help me. thanks.
解决方案
You need to catch
the exception and deal with it. See http://msdn.microsoft.com/en-us/library/system.servicemodel.faultexception(v=vs.110).aspx[^].
I changed other statements but i can't change to Int32.TryParse. It thrown an error. "No overload for method 'TryParse' takes 1 arguments.
my code:
age=Int32.TryParse(textboxAge.text);
这篇关于FaultException未处理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文