【发布时间】:2011-08-17 16:58:01
【问题描述】:
我正在尝试通过命令行为 wcf 服务生成代理。根据需要,我正在使用 *svcutil.exe。
我需要为许多服务创建代理。示例命令如下所示。关于代理的生成,一切都在嗡嗡作响。
对于其中一个代理,我需要将 Collection 类型设置为 List 而不是默认的 Array。但是,像下面明确提到的那样,我无法正确获取集合类型。生成的代理仍然具有集合的 Array 类型。执行这些命令时没有错误。不知道发生了什么。
svcutil.exe http://localhost/DealService.svc /noLogo
/out:D:/Proxies/DealServiceReference.cs /n:*,MyApp.WinUI.DealServiceReference
/ct:System.Collections.Generic.List`1
有谁知道,尽管明确提及,为什么我会得到默认的集合类型?有谁知道怎么弄好?
(子问题 - 我见过的所有将集合类型定义为列表的示例,神秘的 `1 出现在 System.Collections.Generic.List 的末尾,但我无法理解它的需要,我也无法在某处得到有效的解释。因此,如果有人能对此有所了解,那就太好了。)
【问题讨论】:
-
我认为这是因为泛型不是 WSDL 支持的东西。它使用数组,因为它最接近 List
。 Dictionary 也不能在 WSDL 中使用。
标签: wcf command-line proxy svcutil.exe