【问题标题】:Service Reference auto-generated classes in Reference.cs not being generated as InternalReference.cs 中的服务参考自动生成的类未生成为内部
【发布时间】:2013-09-13 06:22:55
【问题描述】:

我正在向我的项目添加服务引用并选择“内部”访问选项。在 15 个 Web 服务中,有 3 个是顽固的,并且自动生成的 Reference.cs 中的大多数类都以 Public 的形式出现(即使我选择了“内部”)

我在 Web References 中的课程中遇到了这个问题,并没有发现真正出现问题的课程和正常工作的课程之间的主要区别。

有人知道这个问题的常见原因吗?例如可能导致此问题的类的 Xml 属性或其他什么?

【问题讨论】:

    标签: c# wcf visual-studio-2012 asmx service-reference


    【解决方案1】:

    问题正是如此。 XmlSerializer 无法序列化内部类型。 Microsoft here 在标题为“生成的类设置的访问级别无效”的部分中简要提到了此限制。

    在配置中设置生成类的访问级别选项 内部或朋友的服务引用对话框可能并不总是 工作。尽管该选项似乎已在对话框中设置,但 生成的支持类将以访问级别生成 公开。

    这是某些类型的已知限制,例如使用 XmlSerializer 序列化的类型。

    据我所知,就自动生成的服务引用而言,对于这个问题并没有真正可以接受的解决方法。但是,DataContractSerializer 不受此限制,因此可以在其他场景中使用。

    您必须与 Microsoft 合作。假设还没有一个请求的解决方案被拒绝为“不会修复”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-15
      • 2013-05-17
      • 1970-01-01
      • 2011-07-26
      • 2013-04-13
      • 1970-01-01
      • 2018-04-20
      • 1970-01-01
      相关资源
      最近更新 更多