如何在WCF服务项目中引用的外部DLL中调用方法

时间:2012-10-16 12:04:54

标签: c# asp.net wcf

是否可以通过添加方法类的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服务)中另一个项目的方法?或者我的代码中的任何错误......

1 个答案:

答案 0 :(得分:0)

你的问题在这里:

string conn = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnString"].ConnectionString;

您的wcf项目在其配置文件中没有此配置,因此它会抛出null引用异常。 您必须使用连接字符串将字符串添加到wcf服务的配置文件中,它将解决您的问题