1

サーバーにWebサイトを展開しています。connection stringある日、名前がすでに追加されているというエラーが表示されました。web.configファイルを確認しましたが、その名前のエントリは1つだけです。構成からエントリを削除しました。これで、Webサイトは正常に機能し、データベースからデータを取得しました。

注:構成ファイルの名前を変更すると、エラーが表示されます。

問題は、connectionstring部分がメモリにキャッシュされていることだと思います。そうですか?この望ましくない動作をどのように克服できますか?

ソースコードの設定ファイル

リリース構成

<system.web>
 <compilation xdt:Transform="RemoveAttributes(debug)" />

</system.web>

デバッグ構成

<system.web>

</system.web>

参考資料:

  1. 公開されたWeb構成に不要な接続文字列が表示される問題
  2. .NET 2.0 App.Config接続文字列には、不要なSQLExpressのデフォルトが含まれています
4

1 に答える 1

5

これは問題ではありません。ファイルを変更するweb.configと、IISプロセスがリセットされるため、キャッシュを使用することはできません。

より可能性が高いのは、同じweb.config接続文字列名を含むファイルを持つ親または子ディレクトリのいずれかがあることです-これがエラーの原因です。

あなたはいくつかの方法でそれを解決することができます:

  • web.config正しいスコープに接続文字列名が1つしかないことを確認してください
  • remove次の要素を使用します。

    <connectionStrings>
     <remove name="theConnectionString" />
     <add name="theConnectionString" ... />
    <connectionStrings>
    

関連する質問については、暗号化された構成ファイルがconnectionStringsに「remove」タグを適用しないを参照してください

于 2013-01-10T12:56:55.190 に答える