- PR -

WegConfigの設定情報の取得について

1
投稿者投稿内容
ゆっきー
ベテラン
会議室デビュー日: 2006/04/21
投稿数: 65
投稿日時: 2006-06-15 11:04
フレームワークのバージョン1.1でvb.netのWebアプリケーションの開発をしています。
WebConfigのDebugの状態の取得方法が分からず困っています。
2.0では「System.Web.Configuration.WebConfigurationManagerクラス」を使用するようですが・・・。
どなたか1.1の場合の取得方法を教えてください。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-06-15 11:11
Debugの状態の取得方法って言うのが何を指しているのか良くわかりませんが

1.1で アプリケーション構成ファイル の情報を読み出すときには
system.Configuration.ConfigurationSettings
を使います
ゆっきー
ベテラン
会議室デビュー日: 2006/04/21
投稿数: 65
投稿日時: 2006-06-15 11:55
かるあさんありがとうございます。

"system.web/compilationのDebug"を取得するには
Dim setting AS ConfigurationSection = System.Configuration.ConfigurationSettings.GetConfig("system.web/compilation")
Dim bool as boolean = ConfigurationSection.Debug
のような感じになるのでしょうか?
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-06-15 12:19
引用:

ゆっきーさんの書き込み (2006-06-15 11:55) より:

"system.web/compilationのDebug"を取得するには


こんなセクションあったんだ(汗

引用:

ゆっきーさんの書き込み (2006-06-15 11:55) より:
コード:
Dim setting AS ConfigurationSection = System.Configuration.ConfigurationSettings.GetConfig("system.web/compilation")
Dim bool as boolean = ConfigurationSection.Debug




machine.config を見ると
コード:
            <section name="compilation" type="System.Web.UI.CompilationConfigurationHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>


となっているので System.Web.UI.CompilationConfigurationHandler で
受け取ってあげないとだめなんじゃないかな
ゆっきー
ベテラン
会議室デビュー日: 2006/04/21
投稿数: 65
投稿日時: 2006-06-15 13:38
System.Web.UI.CompilationConfigurationHandlerを使おうとすると「privateであるためこのコンテキストにはアクセスできません」のエラーになってしまいます。

やりたいことは、エラー時にデバックモードのときは画面にエラー内容を表示、リリースモードの時はログファイルへ出力をWebConfigの値で切り替えたいです。

う〜ん、どうすれば取得できるのでしょうか?
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2006-06-15 13:53
引用:

ゆっきーさんの書き込み (2006-06-15 11:55) より:

"system.web/compilationのDebug"を取得するには



取得する意味があるのでしょうか?

compilation/debugがtrueでないとDebugモードでコンパイルできないし、
Releaseモードならデバッグシンボルを作らないので、compilation/debugが何であろうと関係ない。

引用:

やりたいことは、エラー時にデバックモードのときは画面にエラー内容を表示、リリースモードの時はログファイルへ出力をWebConfigの値で切り替えたいです。



#If DEBUG Then
'画面にエラー内容を表示
#Else
'ログファイルへ出力
#End if
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2006-06-15 14:28
引用:

エラー時にデバックモードのときは画面にエラー内容を表示、
リリースモードの時はログファイルへ出力をWebConfigの値で切り替えたいです。



プログラミング時点で切り替えるのではなく、Web.Configの設定で切り替える
機能が、.NET Frameworkにははじめから組み込まれています。

DebugListener、TraceListenerを調べてみてはいかがでしょうか。

MSDN Japan Home > MSDN Library Japan > .NET Framework > リファレンス >
クラス ライブラリ > System.Diagnostics > TraceListener クラス
トレース出力およびデバッグ出力を監視するリスナの抽象基本クラスを提供します。

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpref/html/frlrfSystemDiagnosticsDebugClassTopic.asp

Debug.WriteLine()やTrace.WriteLine()の出力先がConfigファイルで変更できる
ということが書かれています。



http://www.codeseek.net/dotNet/dotNetTrace.htm

_________________
たつごろー
codeseek
こみゅぷらす
ゆっきー
ベテラン
会議室デビュー日: 2006/04/21
投稿数: 65
投稿日時: 2006-06-15 16:50
todoさん、たつごろーさんアドバイスありがとうございます。

とりあえず、Web.ConfigのappSettingsに項目を追加し、その値で表示・非表示を切り替えるようにしました。
DebugListenerやTraceListenerについても調べてみて、より良い方法を考えて見ます。
1

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