1

このコードが簡単な英語で何をしているのかを理解するのを手伝ってくれませんか? これは初心者です。前もって感謝します。

<connectionStrings>
<add name="BalloonShopConnection" connectionString="Server=(local)\Sql➥
Express; Database=BalloonShop; User=balloonshop; Password=ecommerce" ➥
providerName="System.Data.SqlClient" />
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer" connectionString="Server=(local)\SqlExpress;➥
Database=BalloonShop; User=balloonshop; Password=ecommerce" providerName=➥
"System.Data.SqlClient" />
</connectionStrings>

これはチュートリアルからです。本の前半まで全部書いたのですが、これは奇妙に思えます。

4

2 に答える 2

2

アプリの web.config は、アプリが取得する構成設定の一部にすぎません。全体の構成は、web.config ファイルと machine.config ファイル、および IIS で定義された設定の組み合わせです。この行:

<remove name="LocalSqlServer"/>

は、web.config 以外の場所から取得している可能性がある、別の場所で定義された LocalSqlServer という名前の接続文字列があることを意味します。したがって、web.config では、他の LocalSqlServer 接続文字列を明示的に削除し、その行の下に定義されているものに置き換えています。その変更は、アプリケーションにのみ影響します。これはここで説明されています: http://weblogs.asp.net/jgalloway/archive/2012/01/17/10-things-asp-net-developers-should-know-about-web-config-inheritance-and-overrides .aspx

削除タグがなく、その接続文字列もチェーンの上位に定義されている場合、アプリは上位に定義されているものを使用し、web.config で定義されているものを無視します (これは非常に混乱する可能性があります!)。そのため、削除タグが必要です。

関連項目: inheritInChildApplications を使用して、子 Web アプリケーションで web.config の継承を回避する

于 2012-06-08T19:48:46.053 に答える
1

BalloonShopConnection という名前の接続文字列を追加します。SQL サーバー名 (ローカル)\SqlExpress; あなたのデータベースはBalloonShopですユーザーはballoonshopなので、非常に似ている2番目のものを追加します:)

于 2012-06-08T19:43:19.270 に答える