WsdlContractConversionContext Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Passé aux exportateurs et importateurs WSDL personnalisés pour activer la personnalisation des processus d'exportation et d'importation de métadonnées pour un contrat.
public ref class WsdlContractConversionContext
public class WsdlContractConversionContext
type WsdlContractConversionContext = class
Public Class WsdlContractConversionContext
- Héritage
-
WsdlContractConversionContext
Exemples
L'exemple de code suivant montre l'utilisation du WsdlContractConversionContext pour ajouter des annotations WSDL personnalisées aux métadonnées exportées à l'aide des propriétés WsdlPortType et 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);
}
}
}
}
}
Remarques
Utilisez l'objet WsdlContractConversionContext pour examiner et modifier des éléments qui doivent être convertis vers ou à partir de WSDL.
Lors de l'exportation de métadonnées, un objet WsdlContractConversionContext est passé aux méthodes ExportContract et ExportEndpoint. Utilisez les différentes méthodes et propriétés pour obtenir des objets de métadonnées qui permettent d'examiner et modifier le WSDL publié.
Lors de l'importation de métadonnées, un objet WsdlContractConversionContext est passé aux méthodes ImportContract et ImportEndpoint. Utilisez les différentes méthodes et propriétés pour obtenir des objets de métadonnées qui permettent d'examiner et modifier les métadonnées importées.
Propriétés
Contract |
Obtient le ContractDescription en cours d'exportation ou d'importation. |
WsdlPortType |
Obtient le PortType qui représente le contrat. |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetFaultDescription(OperationFault) |
Retourne la description de l'erreur pour l'erreur spécifiée. |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetMessageDescription(OperationMessage) |
Retourne la description de message pour le message spécifié. |
GetOperation(OperationDescription) |
Retourne l'opération pour la description de l'opération spécifiée. |
GetOperationDescription(Operation) |
Retourne la description d'opérations associée à l'opération. |
GetOperationFault(FaultDescription) |
Retourne l'OperationFault pour la FaultDescription demandée. |
GetOperationMessage(MessageDescription) |
Obtient un objet OperationMessage pour le |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |