0

1 つのエンドポイントを基本的な http バインディングとして公開するサービスがあります。2種類のホスティングがあります(テスト用のセルフホスト、本番用のiis)

構成からサービスモデルセクションを読み取る必要がある構成マネージャーを使用しています。もちろん、セルフ ホストの場合、config ファイルは myapp.exe.config であり、アセンブリを実行するのと同じパスにあり、iss の下で実行されている場合は web.config です。

したがって、configurationmanager.openmappedexeconfiguration を使用して、config へのパスを提供したいと考えています。

しかし、現在使用されているホスティングの種類を理解する必要があります。基本的な http バインディングであるため、httpcontex.current はありません。(だった場合は、null かどうかを確認するために使用でき、そうでない場合は iss ホスティングです)。

問題を解決するには?

4

1 に答える 1

0

私は少し混乱しています: ConfigurationManager は appp と web config から appSettings を読み取ることを知っている必要があります。

また、おそらくサービス モデルのセクションを自分で読む必要はありません。wcf に任せてください。また、構成を気にすることもできます。

コードでサービスの詳細を設定することもできます-構成検索を回避します。

選択肢がない場合(最後のオプションとして使用します)-次のように、アセンブリの実行中のexeパスを使用してみてください Assembly.GetExecutingAssembly()

于 2013-04-26T04:26:59.100 に答える