0

BasicHttpBinding私は現在、SSRS に接続するオブジェクトを必要とする C# のコードを持っています。現状では、このオブジェクトを から読み取るのではなく、コードで割り当てられた値を使用して初期化しますapp.config(これは、展開しているプラ​​ットフォームである MS CRM 2011 がapp.config読み取り用のファイルへのアクセスを提供していないためです。実際、私はapp.configファイルがサーバーにコピーされるとは思わないでください)。

このバインディングを再コンパイルせずに編集可能にして、ソリューションをさまざまな顧客に簡単にインストールできるようにしたいと考えています。私が考えることができる最もクリーンな方法は、バインド構成を Web リソースに保存することです (CRM を使用しない人にとって、これはコードからアクセスできる CRM 内に保存されているファイルの名前にすぎません)。その構成をBasicHttpBindingオブジェクトに解析する最良の方法は確かですか? 手動で解析してプロパティを設定するのは非効率的で、あまり堅牢ではないようです。

私のために.NETを取得する方法はありますか(BasicHttpBinding(string)コンストラクターに似ていますが、app.configにアクセスできないため、これはオプションではありません)?

4

1 に答える 1

0

この構成の (おそらく) 揮発性が低いことを考えると、プラグイン登録ステップでプラグインのセキュア/非セキュア構成に格納できませんか? 実行時にこれにアクセスすると、CRM に接続して Web リソースのコンテンツを取得するよりもはるかに高速になります。確かに、プラグイン登録ツールとシステム管理者が変更を加える必要があることを意味しますが、機密データがユーザーから難読化されることも意味します. プラグインの App.config は実際には利用できませんが、それはプラグイン ステップの構成セクションの目的です。

コンストラクターを使用する限り、構成BasicHttpBinding セクションのキー名を渡すだけで、すべてのコンストラクター マジックを実行する方法を探しているようです。これが可能になるとは思いませんが、いずれにせよ、「手動で解析してプロパティを設定するのは非効率的だと思われる」というあなたの提案はおそらく根拠がありません。関数の後ろに隠すと、そこにあることがわかりません;)

以前にプラグインで SSRS Web サービスに接続しました (注意 - サービスが公開されていないため、CRM Online ではサポートされていません :( )。上記のように、構成をプラグイン構成に保存し、それを読み込むという通常のアプローチを取りました。実行時に、XmlDocument必要に応じて値を解析して、オブジェクトをインスタンス化/プロパティを設定します。

プラグインへのすべてのリクエストで構成が同じである限り、(接続自体ではなく) 構成値をプラグインのクラスレベルのプロパティとして設定することで、ある程度の効率が得られる可能性があります (ただし、これはSDK - ただし、これは、このような「静的な」構成値では問題にならないスレッドセーフによるものであり、まだ設定されていない場合にのみ構成から値を読み取ります。

于 2012-09-18T10:11:38.053 に答える