私はちょっとここで立ち往生しています。Commerce Server 2009 用のカスタム Pipleline コンポーネントを開発していますが、それは私の問題とはほとんど関係ありません。
パイプのセットアップでは、構成用の値を入力するための Windows フォームをユーザーに提供します。これらの値の 1 つは、SharePoint サイトの URL です。Commerce Server は、このすべてのパイプラインの背後で C++ コンポーネントを使用するため、入力された値は IDictionary に入れられ、最終的に Microsoft の C++ コンポーネントを介して DB に永続化されます。
パイプラインの実行中に文字列を読み取ると、C++ の IDictionary オブジェクトで渡されます。私の C# コードでは、URL の末尾に \0\0 が付けられていることがわかります。それらがどこから来ているのかはわかりませんが、有効な URI ではないため、コードが爆発します。文字列を保存する前にトリミングし、読み取り時にトリミングしていますが、それでもそれらを取り除くことはできません。
これを引き起こしている原因と、それを取り除く方法はありますか? サブストリングのようなハックではなく、根本的な原因を突き止めるようなものを好むのです。
ありがとう、コーリー