0

Web アプリケーションで WCF プロジェクトを動作させるのに問題があります。asp.net プロジェクト、DAL、WCF を含むソリューションの下に 3 つのプロジェクトがあります。WCF は DAL の関数を使用しようとします。DAL は asp.net プロジェクトの下の web.config ファイルからデータベース接続文字列を検索します。ただし、データベース関数を呼び出すたびに、null の接続文字列が返されます。WCFプロジェクトからasp.netプロジェクトのweb.configにアクセスできないようです。理想的なシナリオは、コードを変更せずに asp.net と WCF の両方から DAL を使用することです。

この DAL ライブラリは CommonApplication を継承します

public abstract class BaseDatabaseApplication : BaseApplication
    {

        protected readonly string myConnection; // connection string to the publisher (master) database




        public BaseDatabaseApplication()
        {
            // all connection strings are configured here, in the base class
            myConnection = CommonApplication.Configuration.ConnectionStrings.ConnectionStrings["myConnection"].ConnectionString;               
            // some function here
        }
}

BaseApplication.cs

public abstract class BaseApplication
    {
        // since its static, there will only be one instance of it.
        private static CommonApplication applications;

        public static CommonApplication Applications
        {
            get { return applications; }
            set { applications = value; }
        }
    }

CommonApplication.cs

public class CommonApplication
    {
        // only want to process the config once.
        private static Configuration configuration;

        public static Configuration Configuration
        {
            get { return configuration; }
            set { configuration = value; }
        }
}
4

1 に答える 1

0

System.Configuration.ConfigurationManager クラスは、この状況に対処する必要があります。

string connectionString = ConfigurationManager.ConnectionStrings["connectionStringName"].ConnectionString;

それを使用するようにアプリケーションを適応させてみてください。

于 2012-08-16T02:46:14.163 に答える