SchemaImporterExtension Classe

Definizione

Consente di personalizzare il codice generato da un documento WSDL (Web Services Description Language) quando si usano strumenti di query automatizzati.

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 in questo esempio non è incluso un assembly firmato. Viene invece illustrato come usare SchemaImporterExtension con una finestra di comando.

Commenti

L'importazione dello schema viene eseguita 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 tramite lo strumento lingua di descrizione dei servizi Web (Wsdl.exe). L'importazione dello schema si verifica anche quando si usa lo strumento di definizione dello schema XML (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, si potrebbe avere 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 presenti nello spazio dei System.CodeDom nomi . Per altre informazioni, vedere Uso di CodeDOM.

I passaggi per abilitare lo strumento di WSDL.exe (che a sua volta viene usato da altri strumenti, ad esempio la finestra di dialogo Aggiungi riferimento Web) per usare l'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, utilizzare il ImportAnyElement metodo per gestire <xsd:any> elementi trovati nel documento XSD.
  4. Se necessario, utilizzare 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

Nome Descrizione
SchemaImporterExtension()

Inizializza una nuova istanza della classe SchemaImporterExtension.

Metodi

Nome Descrizione
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 il 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 per il 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 viene eseguito il mapping.

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 viene eseguito il mapping.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a