Condividi tramite


SchemaImporterExtension Classe

Definizione

Consente di personalizzare il codice generato da un documento WSDL (Web Service Description Language) per l'utilizzo di strumenti di query automatici.

public ref class SchemaImporterExtension abstract
public abstract class SchemaImporterExtension
type SchemaImporterExtension = class
Public MustInherit Class SchemaImporterExtension
Ereditarietà
SchemaImporterExtension
Derivato

Esempio

Vedere l'esempio di tecnologia SchemaImporterExtension. Si noti che questo esempio non include un assembly firmato. Illustra invece come usare l'oggetto SchemaImporterExtension con una finestra di comando.

Commenti

L'importazione dello schema si verifica ogni volta che viene prodotto un proxy del servizio Web tramite uno strumento, ad esempio la finestra di dialogo Aggiungi riferimento Web disponibile in Visual Studio o usando lo strumento di linguaggio di descrizione dei servizi Web (Wsdl.exe). L'importazione dello schema si verifica anche quando si usa lo strumento di definizione xml Schema (Xsd.exe) per generare codice da un documento XSD specifico.

La SchemaImporterExtension classe consente di modificare il codice generato quando si usa uno di questi strumenti. Ad esempio, potrebbe essere disponibile una classe esistente che elabora gli ordini di libri in un sistema e si dispone di un documento XSD esistente che fornisce gli ordini. Usando la SchemaImporterExtension classe è possibile abilitare uno degli strumenti per generare codice che usa la classe.

Per controllare la generazione del codice, è necessario usare le classi trovate nello System.CodeDom spazio dei nomi. Per altre informazioni, vedere Uso di CodeDOM e CodeDOM Quick Reference.

I passaggi per abilitare lo strumento WSDL.exe (che a sua volta viene usato da altri strumenti, ad esempio la finestra di dialogo Aggiungi riferimento Web) per l'uso dell'estensione sono:

  1. Creare un'implementazione della SchemaImporterExtension classe.

  2. Usare il ImportSchemaType metodo per scrivere codice per il generatore di codice. Il metodo contiene parametri che consentono di esaminare il tipo XSD intercettato e creare oggetti CodeDOM usati per generare il nuovo codice CLR.

  3. Se necessario, usare il ImportAnyElement metodo per gestire <xsd:any> gli elementi trovati nel documento XSD.

  4. Se necessario, usare il ImportDefaultValue metodo per esaminare i valori predefiniti trovati nel documento XSD e restituire un valore predefinito diverso.

  5. Compilare l'estensione in una libreria.

  6. Firmare l'assembly.

  7. Installare l'assembly nella Global Assembly Cache (GAC).

  8. Modificare il file machine.config per includere l'estensione.

Costruttori

SchemaImporterExtension()

Inizializza una nuova istanza della classe SchemaImporterExtension.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
ImportAnyElement(XmlSchemaAny, Boolean, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider)

Gestisce l'importazione degli elementi <xsd:any> nello schema.

ImportDefaultValue(String, String)

Consente di specificare il valore predefinito del tipo XSD da importare.

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

Consente di modificare il codice generato esaminando lo schema importato e specificando il tipo CLR a cui è mappato.

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

Consente di modificare il codice generato esaminando lo schema importato e specificando il tipo CLR a cui è mappato.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a