0

app.config / web.configに関連する情報のスニペットがいくつか見つかりました。これは、app.configを介して直接BCLコンポーネントのほぼコードレス構成を示唆しています。ただし、app.config内のインテリセンスによって提案されたタグの量を考えると、これには非常に多くの可能性があり、有用な情報を見つけることができないことを示唆しています。

構成ファイルのこの特定の領域をサポートするドキュメントはありますか?構成情報の保存/取得に関する情報はたくさんありますが、慣れ親しんだカスタム構成セクションの作成に関する情報は少しありますが、この方法でのBCLコンポーネントの構成に関する情報は見つかりません。誰かがこれに関する参考資料を持っていますか?

私が遭遇した1つの例は次のとおりです。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.diagnostics>
    <trace autoflush="true" indentsize="2">
      <listeners>
        <add name="Console"
             type="System.Diagnostics.ConsoleTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
              traceOutputOptions="Timestamp" />
      </listeners>
    </trace>
    <switches>
      <add name="Logging.Program.Listener" value="Error" />
    </switches>
  </system.diagnostics>
</configuration>

これは、これと同様の方法でコードを使用して消費される可能性があります。

class Program
{
  private static TextWriterTraceListener tw = new TextWriterTraceListener();
  private static TraceSwitch ts = new TraceSwitch("Logging.Program.Listener", "Default Logging Level", "Off");

  static void Main(string[] args)
  {
    Trace.Listeners.Add(tw);

    try
    {
        throw (new EntryPointNotFoundException());
    }
    catch (EntryPointNotFoundException ex)
    {
        string TraceMessage = "Trace {0}: {1}";
        Trace.WriteLineIf(ts.TraceError, String.Format(TraceMessage, TraceLevel.Error, "Error Level Message"));
        Trace.WriteLineIf(ts.TraceWarning, String.Format(TraceMessage, TraceLevel.Warning, "Warning Level Message"));
        Trace.WriteLineIf(ts.TraceInfo, String.Format(TraceMessage, TraceLevel.Info, "Info Level Message"));
        Trace.WriteLineIf(ts.TraceVerbose, String.Format(TraceMessage, TraceLevel.Verbose, "Verbose Level Message"));
    }
  }
}
4

2 に答える 2

2

有用なリソースの1つは、マシンレベルの構成ファイルです。実際のファイルは必要最低限​​のものですが、達成できることのかなり詳細な例を示す「.comments」ファイルがそれらの横にあります。たとえば、

C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \ machine.config.comments

それはあなたに何が達成可能であるかについてのいくらかの考えを与えるでしょう。<traceSwitches>and要素の場合のように、コレクション要素が表示される場所では、そこに含まれる<traceListeners>個々の<add>要素は、追加するものによって異なる場合があります(つまり、これらの<add>要素の特定の属性は、コレクションに追加するものによって異なります。 )。このためには、ドキュメントの特定の領域を参照する必要がありますが<traceSwitches>、MSDNで要素を検索することは、そこから適切な出発点として役立つはずです。

于 2009-04-14T22:10:35.203 に答える
0

それらはすべてこのように構成可能です。それがあなたが何も見つけていない理由です。

わかりました、すべてではないかもしれませんが、確かにほとんどです。知りたい場合は、Reflector を使用して System.configuration.ConfigurationSection などのすべての派生クラスを検索します。

于 2009-04-14T20:29:20.750 に答える