SchemaImporterExtension Klasa

Definicja

Umożliwia dostosowanie kodu wygenerowanego na podstawie dokumentu WSDL (Web Services Description Language) podczas korzystania z zautomatyzowanych narzędzi do wykonywania zapytań.

public ref class SchemaImporterExtension abstract
public abstract class SchemaImporterExtension
type SchemaImporterExtension = class
Public MustInherit Class SchemaImporterExtension
Dziedziczenie
SchemaImporterExtension
Pochodne

Przykłady

Zobacz przykład technologii SchemaImporterExtension. Należy pamiętać, że ten przykład nie zawiera podpisanego zestawu. Zamiast tego pokazuje, jak używać SchemaImporterExtension polecenia z oknem polecenia.

Uwagi

Import schematu odbywa się za każdym razem, gdy serwer proxy usługi sieci Web jest generowany za pomocą narzędzia, takiego jak okno dialogowe Dodawanie odwołania do sieci Web znajdujące się w Visual Studio lub przy użyciu narzędzia językowego opisu usług sieci Web (Wsdl.exe). Import schematu występuje również w przypadku używania narzędzia definicji schematu XML (Xsd.exe) do generowania kodu z określonego dokumentu XSD.

Klasa SchemaImporterExtension umożliwia modyfikowanie kodu wygenerowanego przy użyciu dowolnego z tych narzędzi. Na przykład możesz mieć istniejącą klasę, która przetwarza zamówienia rezerwacji w systemie i masz istniejący dokument XSD, który dostarcza zamówienia. SchemaImporterExtension Korzystając z klasy, możesz włączyć jeden z narzędzi do generowania kodu korzystającego z klasy.

Aby kontrolować generowanie kodu, należy użyć klas znajdujących się w System.CodeDom przestrzeni nazw. Aby uzyskać więcej informacji, zobacz Using the CodeDOM and CodeDOM Quick Reference (Używanie szybkich informacji o kodzieDOM i kodzieDOM).

Kroki włączania narzędzia WSDL.exe (które z kolei są używane przez inne narzędzia, takie jak okno dialogowe Dodawanie odwołania do sieci Web) do korzystania z rozszerzenia, to:

  1. Utwórz implementację SchemaImporterExtension klasy .

  2. ImportSchemaType Użyj metody , aby napisać kod dla generatora kodu. Metoda zawiera parametry, które umożliwiają zbadanie przechwyconego typu XSD i utworzenie obiektów CodeDOM używanych do generowania nowego kodu CLR.

  3. Jeśli jest to wymagane, użyj ImportAnyElement metody , aby obsłużyć <xsd:any> elementy znalezione w dokumencie XSD.

  4. Jeśli jest to wymagane, użyj ImportDefaultValue metody , aby sprawdzić wartości domyślne znalezione w dokumencie XSD i zwrócić inną wartość domyślną.

  5. Skompiluj rozszerzenie w bibliotece.

  6. Podpisz zestaw.

  7. Zainstaluj zestaw w globalnej pamięci podręcznej zestawów (GAC).

  8. Zmodyfikuj plik machine.config, aby uwzględnić rozszerzenie.

Konstruktory

SchemaImporterExtension()

Inicjuje nowe wystąpienie klasy SchemaImporterExtension.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
ImportAnyElement(XmlSchemaAny, Boolean, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider)

Obsługuje import <xsd:any> elementów w schemacie.

ImportDefaultValue(String, String)

Umożliwia określenie wartości domyślnej dla importowanego typu XSD.

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

Umożliwia manipulowanie kodem generowanym przez zbadanie zaimportowanego schematu i określenie typu CLR, do którego jest mapowana.

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

Umożliwia manipulowanie kodem generowanym przez zbadanie zaimportowanego schematu i określenie typu CLR, do którego jest mapowana.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy