SchemaImporterExtension Clase

Definición

Le permite personalizar el código generado a partir de un documento del Lenguaje de descripción de servicios Web (WSDL) cuando se utilizan herramientas de consulta automatizadas.

public ref class SchemaImporterExtension abstract
public abstract class SchemaImporterExtension
type SchemaImporterExtension = class
Public MustInherit Class SchemaImporterExtension
Herencia
SchemaImporterExtension
Derivado

Ejemplos

Consulte el Ejemplo de tecnología SchemaImporterExtension. Tenga en cuenta que en este ejemplo no se incluye un ensamblado firmado. En su lugar, muestra cómo usar con SchemaImporterExtension una ventana de comandos.

Comentarios

La importación de esquemas se produce siempre que se genera un proxy de servicio web a través de una herramienta como el cuadro de diálogo Agregar referencia web que se encuentra en Visual Studio o mediante la Herramienta de lenguaje de descripción de servicios web (Wsdl.exe). La importación de esquemas también se produce cuando se usa la Herramienta de definición de esquemas XML (Xsd.exe) para generar código a partir de un documento XSD específico.

La SchemaImporterExtension clase permite modificar el código generado al usar cualquiera de estas herramientas. Por ejemplo, puede tener una clase existente que procese pedidos de libros en un sistema y tenga un documento XSD existente que suministra sus pedidos. Con la SchemaImporterExtension clase , puede habilitar una de las herramientas para generar código que use la clase .

Para controlar la generación del código, debe usar las clases que se encuentran en el System.CodeDom espacio de nombres . Para obtener más información, vea Using the CodeDOM and CodeDOM Quick Reference.

Los pasos para habilitar la herramienta WSDL.exe (que, a su vez, se usa en otras herramientas, como el cuadro de diálogo Agregar referencia web) para usar la extensión son:

  1. Cree una implementación de la SchemaImporterExtension clase .

  2. Use el ImportSchemaType método para escribir código para el generador de código. El método contiene parámetros que permiten examinar el tipo XSD interceptado y crear objetos CodeDOM que se usan para generar el nuevo código CLR.

  3. Si es necesario, use el ImportAnyElement método para controlar <xsd:any> los elementos que se encuentran en el documento XSD.

  4. Si es necesario, use el método para examinar los ImportDefaultValue valores predeterminados que se encuentran en el documento XSD y devolver un valor predeterminado diferente.

  5. Compile la extensión en una biblioteca.

  6. Firme el ensamblado.

  7. Instale el ensamblado en la caché global de ensamblados (GAC).

  8. Modifique el archivo machine.config para incluir la extensión.

Constructores

SchemaImporterExtension()

Inicializa una nueva instancia de la clase SchemaImporterExtension.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
ImportAnyElement(XmlSchemaAny, Boolean, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider)

Controla la importación de los elementos <xsd: any> del esquema.

ImportDefaultValue(String, String)

Permite especificar el valor predeterminado para el tipo XSD que se está importando.

ImportSchemaType(String, String, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider)

Permite manipular el código que se ha generado examinando el esquema importado y especificando el tipo CLR que asigna.

ImportSchemaType(XmlSchemaType, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider)

Permite manipular el código que se ha generado examinando el esquema importado y especificando el tipo CLR que asigna.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a