0

メソッドのクラスの dll を追加して、WCF サービスで外部メソッドを呼び出すことはできますか?

method を持つ既存の Web アプリケーション プロジェクトがあり、その既存のアプリケーションの参照を WCF プロジェクトに追加して、getcabfare(**)そのメソッドにアクセスするための新しい 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 を取得しましたが、nullreference 例外をスローしているメソッド getcabfare() にアクセスできません。

wcf project(web service) で別プロジェクトのメソッドにアクセスすることはできませんか? または私のコードの間違い....

4

1 に答える 1

0

あなたの問題はここにあります:

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

wcfプロジェクトの構成ファイルにはこの構成がないため、nullreference例外がスローされます。接続文字列を使用してwcfサービスの構成ファイルに文字列を追加する必要があります。これで問題が解決します。

于 2012-10-16T12:43:50.833 に答える