我创建了一个从数据库返回一些类别的网络服务。如果我与客户测试 WCF 提供的一切都是完美的。我开始建立一个客户端。我在我的 service 中添加了一个 service 引用http://localhost/Transaction/transaction.svc
。我创建了客户端 Web 服务的新实例
TransactionClient tc = new TransactionClient("BasicHttpEndpoint");
Category[] availableCategories = tc.GetAllCategories();
我进入Object reference not set to an instance of an object
第二行代码。端点名称正确。
知道为什么会出错吗?
PS:如果您需要更多代码,请告诉我要发布的内容。提前致谢。
编辑 :
[OperationContract]
List<Category> GetAllCategories();
Implementation :
public List<Category> GetAllCategories()
{ return db.GetAllCategories()}
该服务正在运行,我使用 WCFClient 进行测试,因此我的其余代码必须正确。
这是从数据库中获取项目的代码。我尝试使用发布的解决方案,但应用程序没有停止。
List<Category> response = new List<Category>();
connect();
SqlCommand cmd = new SqlCommand("select id_category, name from tbl_category", conn);
try
{
dr = cmd.ExecuteReader();
while (dr.Read())
{
Category new_category = new Category();
new_category.id_category = int.Parse(dr["id_category"].ToString());
new_category.name = dr["name"].ToString();
response.Add(new_category);
}
}
catch (SqlException ex)
{
Console.Out.Write(ex.ToString());
}
finally
{
dr.Close();
conn.Close();
}
return response;