WsdlContractConversionContext Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skickas till anpassade WSDL-exportörer och -importörer för att möjliggöra anpassning av metadataexport- och importprocesserna för ett kontrakt.
public ref class WsdlContractConversionContext
public class WsdlContractConversionContext
type WsdlContractConversionContext = class
Public Class WsdlContractConversionContext
- Arv
-
WsdlContractConversionContext
Exempel
I följande kodexempel visas hur du lägger till anpassade WSDL-anteckningar i exporterade metadata med hjälp WsdlContractConversionContext av WsdlPortType egenskaperna ochContract.
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);
}
}
}
}
}
Kommentarer
Använd objektet WsdlContractConversionContext för att undersöka och ändra objekt som ska konverteras till eller från WSDL.
När du exporterar metadata skickas ett WsdlContractConversionContext objekt till ExportContract metoderna och ExportEndpoint . Använd de olika metoderna och egenskaperna för att hämta metadataobjekt som du kan använda för att undersöka och ändra för att ändra den publicerade WSDL:n.
När du importerar metadata skickas ett WsdlContractConversionContext objekt till ImportContract metoderna och ImportEndpoint . Använd de olika metoderna och egenskaperna för att hämta metadataobjekt som du kan använda för att undersöka och ändra importerade metadata.
Egenskaper
| Name | Description |
|---|---|
| Contract |
Hämtar den ContractDescription som exporteras eller importeras. |
| WsdlPortType |
Hämtar det PortType som representerar kontraktet. |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetFaultDescription(OperationFault) |
Returnerar felbeskrivningen för det angivna felet. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetMessageDescription(OperationMessage) |
Returnerar meddelandebeskrivningen för det angivna meddelandet. |
| GetOperation(OperationDescription) |
Returnerar åtgärden för den angivna åtgärdsbeskrivningen. |
| GetOperationDescription(Operation) |
Returnerar åtgärdsbeskrivningen som är associerad med åtgärden. |
| GetOperationFault(FaultDescription) |
OperationFault Returnerar för den begärda FaultDescription. |
| GetOperationMessage(MessageDescription) |
Hämtar ett OperationMessage objekt för den angivna |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |