作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个被 Silverlight 和 .NET 客户端使用的 WCF Web 服务。为了与两个客户端共享数据契约类型,契约在两个类库中定义:一个是 Silverlight,一个是 .NET。定义数据契约类型的文件通过链接在两个库项目之间共享。
使用服务的代理的生成非常适用于 .NET。具体来说,我的 .NET 类库中的数据协定类型按预期重用。
但是,通过 SlSvcUtil.exe 生成的 Silverlight 代理不会重用数据协定类型。无论我是使用/r 开关从命令行调用 SlSvcUtil.exe 还是使用 Visual Studio 中的“添加服务引用”对话框,都是如此。
通过反复试验,我确定单一服务方法中使用的单一类型是此问题的根源。如果服务停止使用此类型,SlSvcUtil.exe 会按预期生成代理(使用从数据协定程序集中重用的类型)。
既然我已经将问题缩小到这种类型,我不确定接下来要寻找什么。该类型确实包含一个实现 IXmlSerializalble 的成员。这会导致这种行为吗?这有哪些常见原因?进一步排除故障的一些好方法是什么?
最佳答案
我敢肯定您早就离开了这里,但今天早上我遇到了类似的问题 - 我有一个没有默认构造函数的类型。添加一个后,神秘类型在运行 SlSvcUtil 时消失了。但是,为什么它可以与 SvcUtil 一起正常工作超出了我的范围。希望这对您有所帮助!
关于.net - SlSvcUtil.exe 不重用数据协定类型的常见原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5826401/
我是一名优秀的程序员,十分优秀!