WsdlContractConversionContext Klas

Definitie

Doorgegeven aan aangepaste WSDL-exporteurs en importeurs om aanpassing van de export- en importprocessen voor metagegevens voor een contract mogelijk te maken.

public ref class WsdlContractConversionContext
public class WsdlContractConversionContext
type WsdlContractConversionContext = class
Public Class WsdlContractConversionContext
Overname
WsdlContractConversionContext

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u WsdlContractConversionContext aangepaste WSDL-aantekeningen toevoegt aan de geëxporteerde metagegevens met behulp van de WsdlPortType en Contract eigenschappen.

public void ExportContract(WsdlExporter exporter, WsdlContractConversionContext context)
{
Console.WriteLine("Inside ExportContract");
if (context.Contract != null)
{
    // Inside this block it is the contract-level comment attribute.
    // This.Text returns the string for the contract attribute.
    // Set the doc element; if this isn't done first, there is no XmlElement in the
    // DocumentElement property.
    context.WsdlPortType.Documentation = string.Empty;
    // Contract comments.
    XmlDocument owner = context.WsdlPortType.DocumentationElement.OwnerDocument;
    XmlElement summaryElement = Formatter.CreateSummaryElement(owner, this.Text);
    context.WsdlPortType.DocumentationElement.AppendChild(summaryElement);

    foreach (OperationDescription op in context.Contract.Operations)
    {
        Operation operation = context.GetOperation(op);
        object[] opAttrs = op.SyncMethod.GetCustomAttributes(typeof(WsdlDocumentationAttribute), false);
        if (opAttrs.Length == 1)
        {
            string opComment = ((WsdlDocumentationAttribute)opAttrs[0]).Text;

            // This.Text returns the string for the operation-level attributes.
            // Set the doc element; if this isn't done first, there is no XmlElement in the
            // DocumentElement property.
            operation.Documentation = String.Empty;

            // Operation C# triple comments.
            XmlDocument opOwner = operation.DocumentationElement.OwnerDocument;
            XmlElement newSummaryElement = Formatter.CreateSummaryElement(opOwner, opComment);
            operation.DocumentationElement.AppendChild(newSummaryElement);

            // Get returns information
            ParameterInfo returnValue = op.SyncMethod.ReturnParameter;
            object[] returnAttrs = returnValue.GetCustomAttributes(typeof(WsdlParameterDocumentationAttribute), false);
            if (returnAttrs.Length == 1)
            {
                // <returns>text.</returns>
                XmlElement returnsElement =
                  Formatter.CreateReturnsElement(
                    opOwner,
                    ((WsdlParameterDocumentationAttribute)returnAttrs[0]).ParamComment
                  );
                operation.DocumentationElement.AppendChild(returnsElement);
            }

            // Get parameter information.
            ParameterInfo[] args = op.SyncMethod.GetParameters();
            for (int i = 0; i < args.Length; i++)
            {
                object[] docAttrs
                  = args[i].GetCustomAttributes(typeof(WsdlParameterDocumentationAttribute), false);
                if (docAttrs.Length != 0)
                {
                    // <param name="Int1">Text.</param>
                    XmlElement newParamElement = opOwner.CreateElement("param");
                    XmlAttribute paramName = opOwner.CreateAttribute("name");
                    paramName.Value = args[i].Name;
                    newParamElement.InnerText
                      = ((WsdlParameterDocumentationAttribute)docAttrs[0]).ParamComment;
                    newParamElement.Attributes.Append(paramName);
                    operation.DocumentationElement.AppendChild(newParamElement);
                }
            }
        }
    }
}

Opmerkingen

Gebruik het WsdlContractConversionContext object om items te onderzoeken en te wijzigen die moeten worden geconverteerd naar of van WSDL.

Bij het exporteren van metagegevens wordt een WsdlContractConversionContext object doorgegeven aan de ExportContract en ExportEndpoint methoden. Gebruik de verschillende methoden en eigenschappen om metagegevensobjecten te verkrijgen die u kunt gebruiken om de gepubliceerde WSDL te onderzoeken en te wijzigen.

Bij het importeren van metagegevens wordt een WsdlContractConversionContext object doorgegeven aan de ImportContract en ImportEndpoint methoden. Gebruik de verschillende methoden en eigenschappen om metagegevensobjecten te verkrijgen die u kunt gebruiken om de geïmporteerde metagegevens te onderzoeken en te wijzigen.

Eigenschappen

Name Description
Contract

Hiermee haalt u het ContractDescription geëxporteerde of geïmporteerde bestand op.

WsdlPortType

Hiermee haalt u het PortType contract op.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetFaultDescription(OperationFault)

Retourneert de foutbeschrijving voor de opgegeven fout.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetMessageDescription(OperationMessage)

Retourneert de berichtbeschrijving voor het opgegeven bericht.

GetOperation(OperationDescription)

Retourneert de bewerking voor de opgegeven bewerkingsbeschrijving.

GetOperationDescription(Operation)

Retourneert de beschrijving van de bewerking die aan de bewerking is gekoppeld.

GetOperationFault(FaultDescription)

Retourneert de OperationFault voor de aangevraagde FaultDescription.

GetOperationMessage(MessageDescription)

Hiermee haalt u een OperationMessage object op voor het opgegeven message berichttype dat wordt doorgegeven door de actie van een XML-webservice.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op