En WCF, ¿hay alguna forma de omitir / ocultar una Operación de Servicio o un DataMember del WSDL?

Tengo un servicio WCF existente. En algún momento, a veces una[OperationContract] o un[DataMember] en un contrato de datos se convierte en[Obsolete]. No quiero eliminar el método, por razones de compatibilidad con versiones anteriores. Otro ejemplo es que a veces tengo una enumeración y quiero[Obsolete] una de las opciones, pero no puedo eliminarla por completo porque ya existen elementos en el sistema / base de datos que contienen ese valor.

e todos modos, ¿hay alguna forma de omitir ciertos elementos del WDSL generado? Por ejemplo

[ServiceContract]
public interface IMyService
{
    [OperationContract]
    string SomeMethod(string x);  // I do want this in the WSDL

    [Obsolete]
    [OperationContract]
    string OldMethod(string x); // I do NOT want this in the WSDL, but I do want it to still work / be callable if an older system tries to call it.
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta