【发布时间】:2016-05-17 16:26:38
【问题描述】:
我想知道如何在我的 WCF's 完成事件方法中捕获异常并在 MessageBox 中将其显示给用户。
我调用了从数据库中获取记录的GetProductTypeAsync(); 方法。我想捕获此处发生的任何异常并将其发送到service_GetProductTypeCompleted 事件,它应该向用户显示Exception Message。
public List<ProductType> GetProductType()
{
List<ProductType> productType = new List<ProductType>();
try
{
using (SqlConnection con = new SqlConnection(_connectionString))
{
SqlCommand cmd = new SqlCommand("usp_Get_ProductType", con);
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
ProductType pType = new ProductType(Convert.ToInt32(reader["pkProductTypeID"]), reader["Name"].ToString());
productType.Add(pType);
}
}
}
}
catch(Exception ex)
{
//Catch Exception and send to the service_GetProductTypeCompleted Event Method
}
return productType;
}
这里是service_GetProductTypeCompleted 事件
void service_GetProductTypeCompleted(object sender, GetProductTypeCompletedEventArgs e)
{
if (e.Result.Count != 0)
{
productTypes = e.Result.ToList();
cboProductType.DataContext = productTypes;
}
}
【问题讨论】:
标签: c# wcf silverlight exception-handling