2016-11-25 17 views
0

動的に取得するキーの対応する値を取得する方法。私は、コードブロックは DictionarySectionHandlerを使用してWeb.Config内のキーの値を取得する方法

<section name="domainsource" type="System.Configuration.DictionarySectionHandler"/> 

    <domainSource> 
     <add key="0" value="170" /> 
     <add key="1" value="171" /> 
     <add key="2" value="172" /> 
     <add key="3" value="173" /> 
     <add key="12" value="174" /> 
    </domainSource> 

のWeb.Config

システムを使用したい仕事をするDictionarySectionHandlerを定義し、のWeb.configファイルで私のカスタム構築されたconfigセクションからデータをフェッチする

私は私がvDomainID値0/1/2/3/12だろう立ち往生していますここにはあるWeb.config

Hashtable statusCodes = ConfigurationManager.GetSection("domainSource") as Hashtable; 
vDomainSource = statusCodes[vDomainID]; 

からデータを取得したい、そこからメインのCSファイル、基盤のソースコードdこの値をWeb.ConfigからそれぞれのSourceを取得する必要があります。この側面に関する助けは本当に感謝しています。

答えて

0

domainource - > domainSourceセクションの定義にミススペルがあります。 elemntが要素で定義されていることをさらに確認します。そうすればうまくいくはずです。

<configuration> 
    <configSections> 
    <section name="domainSource" type="System.Configuration.DictionarySectionHandler"/> 
    </configSections> 
    <domainSource> 
    <add key="0" value="170" /> 
    <add key="1" value="171" /> 
    <add key="2" value="172" /> 
    <add key="3" value="173" /> 
    <add key="12" value="174" /> 
    </domainSource> 
</configuration> 
+0

うん、それは良いキャッチです。ありがとうございます。スペルミスのセクション名を修正しましたが、動作していないコードの次の部分に問題があるようです。 'code'Hashtable statusCodes = HashtableとしてのConfigurationManager.GetSection(" domainSource "); vDomainSource = statusCodes [vDomainID]; 'code' "オブジェクト参照がインスタンスに設定されていません "という次のエラーメッセージでエラーが発生しました – Joby

+0

空のアプリケーションでテストしましたが、正常に動作しています。 statusCodesがnullかどうかを確認します。そうでなければ、あなたのロジックのどこかにエラーがなければなりません。 – user1519979

+0

プロジェクトは次のとおりです。https://drive.google.com/open?id=0B_ZUjkv4ovT3OUtlajUtdmptLTA – user1519979

関連する問題