FaultException未处理 [英] FaultException was unhandled

查看:64
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆