是否可以通过添加方法类的dll来调用WCF服务中的外部方法?
我有一个方法getcabfare(**)
的现有Web应用程序项目,现在我正在尝试创建一个新的WCF服务来通过向我的WCF项目添加该现有应用程序的引用来访问该getcabfare()
方法
但是我收到了错误
NullReferenceException不由用户代码处理 - 对象引用 未设置为对象的实例
这是我现有的项目“BasicCabApplication”,它在商务逻辑层中具有以下方法,工作正常
namespace BasicCabApplication
{
public class BussinessLogic
{
public int getcabfare(string location)
{
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnString"].ConnectionString;
SqlConnection con = new SqlConnection(conn);
con.Open();
SqlCommand cmd = new SqlCommand("Select fare from cablocations where area ='" + location +"'", con);
int fare = Convert.ToInt16(cmd.ExecuteScalar());
con.Close();
return fare;
}
}
这是我的wcf项目,我已经添加了上述项目的参考。并且 Service1.svc.cs 中的代码位于
之下using BasicCabApplication;
namespace mywcftest1
{
public class Service1 : IService1
{
public int GetFare(string location)
{
BussinessLogic bl = new BussinessLogic();
int fare = bl.getcabfare(location);
return fare;
}
}
}
我得到了对象bl但无法访问抛出null引用异常的方法getcabfare()。
是否无法访问wcf项目(Web服务)中另一个项目的方法?或者我的代码中的任何错误......
答案 0 :(得分:0)
你的问题在这里:
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnString"].ConnectionString;
您的wcf项目在其配置文件中没有此配置,因此它会抛出null引用异常。 您必须使用连接字符串将字符串添加到wcf服务的配置文件中,它将解决您的问题