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çirilir.

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 veriler dışarı aktarılı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 almak için çeşitli yöntemleri ve özellikleri kullanın.

Meta veriler içeri aktarılı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

Contract

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

WsdlPortType

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

Yöntemler

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)

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

GetType()

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

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

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

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

(Devralındığı yer: Object)

Şunlara uygulanır