Reference.cs中的服务引用自动生成的类未生成为内部

时间:2013-09-09 17:28:40

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

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

我已经浏览了有关此问题的Web References中的类,并且没有任何内容真正跳出来,因为有问题的那些与正在运行的那些之间存在重大差异。

有谁知道这个问题的常见原因?例如可能导致此问题的类的Xml属性还是什么?

1 个答案:

答案 0 :(得分:4)

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

  

在Configure中设置生成的类的访问级别选项   “内部”或“朋友”的“服务引用”对话框可能并不总是如此   工作。即使选项似乎在对话框中设置,   生成的支持类将以访问级别生成   公共

     

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

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

你必须与微软合作。假设尚未将请求的解决方案拒绝为“无法修复”。