C# WCF WSDL不公开所需的类

C# WCF WSDL不公开所需的类,c#,web-services,wcf,wsdl,C#,Web Services,Wcf,Wsdl,我正在将asmx web服务升级到WCF。asmx wsdl公开客户机所需的某些类。这些类不是在web方法本身中引用的,而是在web方法中的类中引用的。例如: WebMethod1(Class1 param) { return Class 2; } 类1和类2包含在wsdl中,但在类1或类2中引用的任何类都不包含在WCF中的wsdl中。但是,它们在asmx WSDL中 有没有办法公开这些必需的类而不更改类本身或web服务中的代码?我知道您可以在类中添加[DataContract]等,

我正在将asmx web服务升级到WCF。asmx wsdl公开客户机所需的某些类。这些类不是在web方法本身中引用的,而是在web方法中的类中引用的。例如:

WebMethod1(Class1 param)
{
     return Class 2;
}
类1和类2包含在wsdl中,但在类1或类2中引用的任何类都不包含在WCF中的wsdl中。但是,它们在asmx WSDL中

有没有办法公开这些必需的类而不更改类本身或web服务中的代码?我知道您可以在类中添加[DataContract]等,但我发现很难相信WCF在这方面不应该提供与asmx相同的功能


谢谢

不需要DataContract不是asmx的力量,或者要求DataContract不是WCF的弱点。这是由WCF设计的,有很多很好的理由,其中之一就是你应该向外界发布最少的信息。对于大型Web服务项目,这是一种祝福,而不是限制。客户端不希望看到服务类的详细信息

通过WSDL发布服务数据类,以便仅在满足以下条件时,在客户端成为代理类:

  • 该类由DataContractAttribute修饰,仅发布由DataMemberAttribute修饰的属性/数据字段。复合结构中的嵌套类也需要这样的修饰
  • 该类在服务合同的至少一个运营合同中引用

  • 不需要DataContract不是asmx的能力,或者要求DataContract不是WCF的弱点。这是由WCF设计的,有很多很好的理由,其中之一就是你应该向外界发布最少的信息。对于大型Web服务项目,这是一种祝福,而不是限制。客户端不希望看到服务类的详细信息

    通过WSDL发布服务数据类,以便仅在满足以下条件时,在客户端成为代理类:

  • 该类由DataContractAttribute修饰,仅发布由DataMemberAttribute修饰的属性/数据字段。复合结构中的嵌套类也需要这样的修饰
  • 该类在服务合同的至少一个运营合同中引用

  • 不需要DataContract不是asmx的能力,或者要求DataContract不是WCF的弱点。这是由WCF设计的,有很多很好的理由,其中之一就是你应该向外界发布最少的信息。对于大型Web服务项目,这是一种祝福,而不是限制。客户端不希望看到服务类的详细信息

    通过WSDL发布服务数据类,以便仅在满足以下条件时,在客户端成为代理类:

  • 该类由DataContractAttribute修饰,仅发布由DataMemberAttribute修饰的属性/数据字段。复合结构中的嵌套类也需要这样的修饰
  • 该类在服务合同的至少一个运营合同中引用

  • 不需要DataContract不是asmx的能力,或者要求DataContract不是WCF的弱点。这是由WCF设计的,有很多很好的理由,其中之一就是你应该向外界发布最少的信息。对于大型Web服务项目,这是一种祝福,而不是限制。客户端不希望看到服务类的详细信息

    通过WSDL发布服务数据类,以便仅在满足以下条件时,在客户端成为代理类:

  • 该类由DataContractAttribute修饰,仅发布由DataMemberAttribute修饰的属性/数据字段。复合结构中的嵌套类也需要这样的修饰
  • 该类在服务合同的至少一个运营合同中引用