Aracılığıyla paylaş


WsdlContractConversionContext Sınıf

Tanım

Bir sözleşme için meta veri dışarı aktarma ve içeri aktarma işlemlerini özelleştirmeyi etkinleştirmek için özel WSDL dışarı aktarıcılarına ve içeri aktarıcılarına geçirildi.

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

Örnekler

Aşağıdaki kod örneği, ve Contract özelliklerini kullanarak dışarı aktarılan meta verilere özel WSDL ek açıklamaları eklemek için öğesinin WsdlPortType kullanımını WsdlContractConversionContext gösterir.

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

Açıklamalar

WsdlContractConversionContext WSDL'ye veya WSDL'den dönüştürülecek öğeleri incelemek ve değiştirmek için nesnesini kullanın.

Meta verileri dışarı aktarırken ve ExportEndpoint yöntemlerine ExportContract bir WsdlContractConversionContext nesne geçirilir. Yayımlanan WSDL'yi incelemek ve değiştirmek için kullanabileceğiniz meta veri nesnelerini elde etmek için çeşitli yöntemleri ve özellikleri kullanın.

Meta verileri içeri aktarırken ve ImportEndpoint yöntemlerine ImportContract bir WsdlContractConversionContext nesne geçirilir. İçeri aktarılan meta verileri incelemek ve değiştirmek için kullanabileceğiniz meta veri nesnelerini almak için çeşitli yöntemleri ve özellikleri kullanın.

Özellikler

Name Description
Contract

Dışarı aktarılanı veya içeri aktarılanı ContractDescription alır.

WsdlPortType

Sözleşmeyi PortType temsil eden öğesini alır.

Yöntemler

Name Description
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetFaultDescription(OperationFault)

Belirtilen hata için hata açıklamasını döndürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetMessageDescription(OperationMessage)

Belirtilen ileti için ileti açıklamasını döndürür.

GetOperation(OperationDescription)

Belirtilen işlem açıklaması için işlemi döndürür.

GetOperationDescription(Operation)

İşlemle ilişkili işlem açıklamasını döndürür.

GetOperationFault(FaultDescription)

İstenen FaultDescriptioniçin değerini OperationFault döndürür.

GetOperationMessage(MessageDescription)

Belirtilen message için, XML OperationMessage Web hizmetinin eylemi tarafından geçirilen bir ileti türünü temsil eden bir nesnesi alır.

GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır