0

是否可以通过添加方法类的 dll 在我们的 WCF 服务中调用外部方法?

我有一个带有方法的现有 Web 应用程序项目getcabfare(**),现在我正在尝试getcabfare()通过将现有应用程序的引用添加到我的 WCF 项目来创建一个新的 WCF 服务来访问该方法。

但我得到了错误

用户代码未处理 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 但无法访问引发 nullreference 异常的方法 getcabfare()。

wcf项目(web服务)中不能访问另一个项目的方法吗?或我的代码中的任何错误....

4

1 回答 1

0

你的问题在这里:

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

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

于 2012-10-16T12:43:50.833 回答