【问题标题】:Common causes of SlSvcUtil.exe not reusing a data contract typesSlSvcUtil.exe 不重用数据协定类型的常见原因
【发布时间】:2011-04-28 23:55:16
【问题描述】:

我有一个被 Silverlight 和 .NET 客户端使用的 WCF Web 服务。为了与两个客户端共享数据合同类型,合同在两个类库中定义:一个 Silverlight 和一个 .NET。定义数据协定类型的文件通过链接在两个库项目之间共享。

生成使用服务的代理非常适合 .NET。具体来说,我的 .NET 类库中的数据协定类型按预期重复使用。

但是,通过 SlSvcUtil.exe 生成 Silverlight 代理不会重用数据协定类型。无论我使用 /r 开关从命令行调用 SlSvcUtil.exe 还是使用 Visual Studio 中的“添加服务引用”对话框,这都是正确的。

通过反复试验,我确定在单一服务方法中使用的单一类型是此问题的根源。如果服务停止使用此类型,SlSvcUtil.exe 会按预期生成代理(使用从数据协定程序集中重用的类型)。

现在我已将问题缩小到这种类型,我不确定接下来要寻找什么。该类型确实包含一个实现 IXmlSerializalble 的成员。这会导致这种行为吗?造成这种情况的一些常见原因是什么?有哪些好的方法可以进一步排除故障?

【问题讨论】:

    标签: .net silverlight wcf slsvcutil


    【解决方案1】:

    我敢肯定,你早就离开了这个,但今天早上我遇到了一个类似的问题——我有一个没有默认构造函数的类型。添加一个后,运行 SlSvcUtil 时神秘类型消失了。不过,为什么它可以与 SvcUtil 一起正常工作,这超出了我的理解。希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-09
      • 2016-09-01
      • 2010-09-10
      相关资源
      最近更新 更多