我有点卡在这里。我正在为 Commerce Server 2009 开发一个自定义 Pipleline 组件,但这与我的问题无关。
在管道的设置中,我给用户一个窗口表单来输入一些值进行配置。其中一个值是 SharePoint 网站的 URL。Commerce Server 在所有这些管道内容背后使用 C++ 组件,因此输入的值被放入 IDictionary 并最终通过 Microsoft 的 C++ 组件持久保存到 DB。
当我在管道执行期间读入字符串时,它会在 C++ 的 IDictionary 对象中交给我。我的 C# 代码看到该 URL 以 \0\0 为后缀。我不确定这些来自哪里,但我的代码崩溃了,因为它不是有效的 URI。我在保存之前修剪字符串,并在阅读时修剪它,但仍然无法摆脱它们。
任何想法是什么导致了这种情况以及我如何摆脱它?我不希望有像子串这样的黑客攻击,而是从根本上解决问题。
谢谢,科里