WsdlContractConversionContext Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Předáno vlastním vývozcům a dovozcům WSDL, aby bylo možné přizpůsobit procesy exportu a importu metadat pro smlouvu.
public ref class WsdlContractConversionContext
public class WsdlContractConversionContext
type WsdlContractConversionContext = class
Public Class WsdlContractConversionContext
- Dědičnost
-
WsdlContractConversionContext
Příklady
Následující příklad kódu ukazuje použití WsdlContractConversionContext vlastní poznámky WSDL k exportovaným metadatům pomocí WsdlPortType a Contract vlastností.
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);
}
}
}
}
}
Poznámky
Pomocí objektu WsdlContractConversionContext můžete zkoumat a upravovat položky, které mají být převedeny do nebo z WSDL.
Při exportu metadat objektu WsdlContractConversionContext se předá metodám ExportContract a ExportEndpoint metodám. Pomocí různých metod a vlastností získejte objekty metadat, které můžete použít k prozkoumání a úpravě publikovaného WSDL.
Při importu metadat WsdlContractConversionContext se objekt předá metodám ImportContract a ImportEndpoint metodám. Pomocí různých metod a vlastností získejte objekty metadat, které můžete použít k prozkoumání a úpravě importovaných metadat.
Vlastnosti
| Name | Description |
|---|---|
| Contract |
ContractDescription Získá export nebo import. |
| WsdlPortType |
PortType Získá ten, který představuje kontrakt. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetFaultDescription(OperationFault) |
Vrátí popis chyby pro zadanou chybu. |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetMessageDescription(OperationMessage) |
Vrátí popis zprávy pro zadanou zprávu. |
| GetOperation(OperationDescription) |
Vrátí operaci pro zadaný popis operace. |
| GetOperationDescription(Operation) |
Vrátí popis operace přidružený k operaci. |
| GetOperationFault(FaultDescription) |
OperationFault Vrátí požadovanou hodnotu FaultDescription. |
| GetOperationMessage(MessageDescription) |
Získá objekt pro zadanou OperationMessage |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |