- PR -

ADO.NET Tips & Tricks #1 - Web.Config

1
投稿者投稿内容
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2002-04-10 21:44
Classic ASPでは、データベースのConnectionStringをApplication変数に格納して利用していた方が多いと思います。

コード:

Application"ConnectionStringSQL") =
"Server=localhost;UID=sa;PWD=secret;Database=Northwind"


ASP.NETでは、データベースのConnectionStringをWeb.Configファイルに格納すると便利です。アプリケーション定義情報は、Web.ConfigのappSettingsに登録します。

Web.Config file

コード:

<configuration>
<appSettings>
<add key="conStringSQL"
value="Server=localhost;UID=sa;PWD=secret;Database=Northwind" />
<add key="conStringAccess"
value="PROVIDER=Microsoft.Jet.OLEDB.4.0;
DATA Source=C:\Northwind.mdb" />
</appSettings>
</configuration>



このWeb.Configファイルは、アプリケーションの仮想ディレクトリのルートに格納しておきます。

Web.Configファイルからアプリケーション定義情報を取得するには、ConfigurationSettingクラスのAppSettingsプロパティを使用します。

コード:

Response.Write("<p>SQL Server Connection String:<br>" & _
ConfigurationSettings.AppSettings("conStringSQL"))
Response.Write("<p>Access Connection String:<br>" & _
ConfigurationSettings.AppSettings("conStringAccess"))




Tips & Tricks #1のDEMO


Happy Programmig!


[ メッセージ編集済み 編集者: Dr ADO.NET 編集日時 2002-04-11 21:25 ]
romeoX
会議室デビュー日: 2002/04/11
投稿数: 1
投稿日時: 2002-04-11 15:03
Dr ADO.NETさん、こんにちわ。

1つ質問させてください。

引用:

ASP.NETでは、データベースのConnectionStringをWeb.Configファイルに格納すると便利です。アプリケーション定義情報は、Web.ConfigのappSettingsに登録します。



この方法はWebアプリの場合には便利なんですけどConfigurationSettings.AppSettingsはWindowsアプリケーションからは使えませんよね。
例えばDBをアクセスする部分をコンポーネントにして、Windowsアプリ等でも共通して使用したい場合はなにかよい方法があるのでしょうか?
uda
会議室デビュー日: 2001/12/28
投稿数: 13
投稿日時: 2002-04-11 16:13
DynamicPropertyはどうでしょう?
VS.NETのGUIから簡単に操作でき、かつ Web.ConfigのappSettingsへ自動的に記録
してくれます。読み出しも、もちろん自動です。


[ メッセージ編集済み 編集者: uda 編集日時 2002-04-11 16:28 ]
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2002-04-17 22:22
引用:
この方法はWebアプリの場合には便利なんですけどConfigurationSettings.AppSettingsはWindowsアプリケーションからは使えませんよね。
例えばDBをアクセスする部分をコンポーネントにして、Windowsアプリ等でも共通して使用したい場合はなにかよい方法があるのでしょうか?



すみません。Windows Form をまだ作成した経験がないものでまったく解りません。

.NET の Machine.config も Web.Config ファイルも XML 形式ですからWindows Form の
場合、Win.Config ファイルを XML 形式で作成したらどうでしょうか。

ところで、ADO.NETは、Windows FormとWeb Form双方から利用できるか解りませんが、
もし双方から利用できるならWeb.configファイルも共有できないのでしょうか。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2002-04-25 05:50
Windows アプリから .config ファイルを使用するときは、
[appname].config のように名前をつけて .exe ファイルが存在する
フォルダに格納します。

たとえば、myapp.exe のアプリの .config ファイルは
myapp.exe.config のようになります。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2002-06-03 05:31
Web.configファイルを複数のアプリケーションで共有するときは、
<section>タグでappSettingを追加することができます。

たとえば、appSetting2 を追加するには次のように記述します。

コード:

<configuration>
<configSections>
<section name="appSetting2"
Type="System.Configuration.NameValueFileSectionHandler,
System, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" />
</configSections>
<appSetting2>
<add key="conStringSQL"
value="Server=localhost;UID=sa;PWD=secret;Database=Northwind" />
<add key="conStringAccess" value="PROVIDER=Microsoft.Jet.OLEDB.4.0;
DATA Source=C:\Northwind.mdb" />
</appSetting2>
</configuration>



新規に追加したappSetting2 をASP.NETから参照するには次のように記述します。

ConfigurationSettings.GetConfig("appSetting2")("conStringSQL")
ConfigurationSettings.GetConfig("appSetting2")("conStringAccess")



[ メッセージ編集済み 編集者: Dr ADO.NET 編集日時 2002-06-03 05:32 ]
1

スキルアップ/キャリアアップ(JOB@IT)