3

私は.netで構成を適切に行う方法を調べようとしていましたが、少し奇妙なことに遭遇しました。それは、設定クラスを介して構成設定がアセンブリにコンパイルされるということです。app.config を削除してアプリケーションを実行しても、予想どおり構成エラーは発生しませんが、構成値を置き換える方法がありません。

私のアプリケーションには、プログラムで取得して設定できるようにする必要がある Web サービス URL の構成設定があります。ConfigurationManager.GetSection(..) を読み取って構成ファイルの読み取りをトリガーするアプリケーションの構成にカスタム セクションを作成する必要がありますか、または Web サービスの URL が絶対に必要ないため、この問題を回避する別の方法がありますか? ws プロキシを URL として生成するために使用され、本番環境に漏えいする可能性があります。

助けてください。

4

7 に答える 7

1

設定ファイルではなく、アプリケーション構成ファイルをプロジェクトに追加してみてください。アプリケーション構成ファイルはアセンブリにコンパイルされません。

于 2009-02-05T12:59:12.297 に答える
0

プロパティのプラスをクリックしてから設定をクリックすると、settings.designer.cs というファイルが見つかります。

このファイルには、アプリケーション設定を定義するときに作成したデフォルト値が含まれています。これが、構成ファイルなしでアプリが動作する理由です。

ただし、この値はいつでもオーバーライドできます。

これをテストする唯一の方法は、公開しても安全なデフォルト値を作成し、テスト中に変更することです。

于 2009-02-05T12:38:39.500 に答える
0

Web サービスへの参照を追加すると、プロパティを設定して Web サービスの URL を動的にすることができます (つまり、構成ファイルから読み取る)。

[Web 参照] をクリックします。Web サービスをクリックし、「URL 動作」プロパティを「静的」から「動的」に設定します。

変更を行ったら、Web サービスが正しい URL を指すようにするために必要なことは、アプリを実行する前に構成ファイルを変更することだけです。

于 2009-02-05T12:40:08.593 に答える