WsdlContractConversionContext Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Passado para exportadores e importadores personalizados de WSDL para permitir a personalização dos processos de exportação e importação de metadados para um contrato.
public ref class WsdlContractConversionContext
public class WsdlContractConversionContext
type WsdlContractConversionContext = class
Public Class WsdlContractConversionContext
- Herança
-
WsdlContractConversionContext
Exemplos
O exemplo de código seguinte mostra a utilização de para WsdlContractConversionContext adicionar anotações WSDL personalizadas aos metadados exportados usando as WsdlPortType propriedades e.Contract
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);
}
}
}
}
}
Observações
Use o WsdlContractConversionContext objeto para examinar e modificar itens que devem ser convertidos para ou a partir de WSDL.
Ao exportar metadados, um WsdlContractConversionContext objeto é passado para os ExportContract métodos e ExportEndpoint . Use os vários métodos e propriedades para obter objetos de metadados que possa usar para examinar e modificar para alterar o WSDL publicado.
Ao importar metadados, um WsdlContractConversionContext objeto é passado para os ImportContract métodos e ImportEndpoint . Use os vários métodos e propriedades para obter objetos de metadados que possa usar para examinar e modificar os metadados importados.
Propriedades
| Name | Description |
|---|---|
| Contract |
Obtém o ContractDescription ser exportado ou importado. |
| WsdlPortType |
Obtém o PortType que representa o contrato. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetFaultDescription(OperationFault) |
Devolve a descrição da falha para a falha especificada. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetMessageDescription(OperationMessage) |
Devolve a descrição da mensagem para a mensagem especificada. |
| GetOperation(OperationDescription) |
Devolve a operação para a descrição da operação especificada. |
| GetOperationDescription(Operation) |
Devolve a descrição da operação associada à operação. |
| GetOperationFault(FaultDescription) |
Devolve o OperationFault para o pedido FaultDescription. |
| GetOperationMessage(MessageDescription) |
Obtém um OperationMessage objeto para o especificado |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |