Sdílet prostřednictvím


WsdlContractConversionContext Třída

Definice

Předáno vlastním vývozcům a dovozcům WSDL, aby bylo možné přizpůsobit postupy exportu a importu metadat pro smlouvu.

public ref class WsdlContractConversionContext
public class WsdlContractConversionContext
type WsdlContractConversionContext = class
Public Class WsdlContractConversionContext
Dědičnost
WsdlContractConversionContext

Příklady

Následující příklad kódu ukazuje použití WsdlContractConversionContext k přidání vlastních poznámek WSDL k exportovaným metadatům pomocí WsdlPortType a Contract vlastností.

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);
                }
            }
        }
    }
}

Poznámky

Pomocí objektu WsdlContractConversionContext můžete zkoumat a upravovat položky, které mají být převedeny do nebo z WSDL.

Při exportu metadat je WsdlContractConversionContext objekt předán do ExportContract a ExportEndpoint metody. K získání objektů metadat, které můžete použít k prozkoumání a úpravě publikovaného WSDL, použijte různé metody a vlastnosti.

Při importu metadat je WsdlContractConversionContext objekt předán a ImportContract ImportEndpoint metody. Pomocí různých metod a vlastností můžete získat objekty metadat, které můžete použít k prozkoumání a úpravě importovaných metadat.

Vlastnosti

Contract

ContractDescription Získá export nebo import.

WsdlPortType

PortType Získá ten, který představuje kontrakt.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetFaultDescription(OperationFault)

Vrátí popis chyby pro zadanou chybu.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetMessageDescription(OperationMessage)

Vrátí popis zprávy pro zadanou zprávu.

GetOperation(OperationDescription)

Vrátí operaci pro zadaný popis operace.

GetOperationDescription(Operation)

Vrátí popis operace přidružený k operaci.

GetOperationFault(FaultDescription)

OperationFault Vrátí požadovanou hodnotu .FaultDescription

GetOperationMessage(MessageDescription)

OperationMessage Získá objekt pro zadanýmessage, který představuje typ zprávy předané akcí XML webové služby.

GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro