1

私は直接接続文字列を使用しています

string ConString = "Data source=.\\Sqlexpress; initial catalog=MyDB; integrated security=SSPI";

web.config次のようなファイルに保存されている接続文字列が必要です。

<connectionStrings>
<add name="SqlCon" connectionString="Data source=.\\Sqlexpress; initial catalog=MyDB; integrated security=SSPI" providerName="System.Data.SqlClient" />
</connectionStrings>

これに関する問題は、データ アクセス レイヤーでアクセスできないことです。私は3層アーキテクチャモデルに取り組んでいます。などのように、データ アクセス レイヤーへの参照を追加したくありませんSystem.Web。毎日、私のクラス ライブラリにはますます多くのクラスが追加されます。最終的にプロジェクトを提出するときに、接続文字列を大学のコンピューターの 1 か所でのみ変更する必要があるように、グローバルにアクセス可能な接続文字列を使用する時期に来ていることに気付きました。

4

1 に答える 1

1

データ アクセス レイヤーに Web DLL への参照を追加する必要はありません。

すべては構造によって異なりますが、dll がbinプロジェクト参照を通じて Web サイトのフォルダーにコピーされている場合、Web 構成接続文字列は Web サイトの Web 構成から直接使用されます。接続は、Web サーバーによってホストされる Web サイトであるホストで実行時に解決されます。データ アクセス dll 自体に追加する必要はありません。これは、単一プロセス アーキテクチャの場合、接続文字列が既にグローバルに利用可能であることを意味します。

データ アクセス レイヤーがアプリ サーバーでホストされている場合、ビジネス/データ レイヤーを公開する Web サービスの Web 構成がある可能性があります。一般的なパターンは、WCF サービスを使用してデータ アクセスを使用してビジネス レイヤーを公開することです。サービスには、Web サイトで定義された web.config とは別の独自の web.config ファイルがあります。ただし、重要な点は、WFC サービスのみが接続文字列を必要とするということです。通常、Web サイトの Web 構成には、サービスの呼び出し方法 (WCF 構成) に関する情報のみが含まれます。

于 2013-07-24T00:35:24.700 に答える