使用WebClient进行POST调用时,如何在NameValueCollection中发送重复值?

遗憾的是,我受一个强制在POST调用中重用参数名称的API的支配。

最终结果POST params看起来像这样:

ArgNameA: xyz ArgNameB: abc ArgNameC: 123 ArgNameD: LMN ArgNameC: 789 ArgNameD: JKL ArgNameC: ... ArgNameD: ... 

你明白了。

我目前正在使用NamedValueCollection并将其发送到WebClient来进行POST调用。 这工作正常但是当我尝试反复重用ArgNameC和ArgNameD时,它似乎识别出已经存在于集合中的名称,因此不会添加它们(或者它可能会更新它们,我不确定)。

如何使用允许我重用POST参数名称的WebClient进行POST?

我实际上能够在webclient上使用UploadString()方法,并使用HttpUtility.UrlEncode手动构建POST数据字符串。