WsdlContractConversionContext Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dies wird an benutzerdefinierte WSDL-Export- und Importprogramme übergeben, um die Anpassung der Metadatenexport- und Importprozesse für einen Vertrag zu ermöglichen.
public ref class WsdlContractConversionContext
public class WsdlContractConversionContext
type WsdlContractConversionContext = class
Public Class WsdlContractConversionContext
- Vererbung
-
WsdlContractConversionContext
Beispiele
Im folgenden Codebeispiel wird die Verwendung des WsdlContractConversionContext zum Hinzufügen benutzerdefinierter WSDL-Anmerkungen zu exportierten Metadaten unter Verwendung der WsdlPortType und Contract-Eigenschaften gezeigt.
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);
}
}
}
}
}
Hinweise
Verwenden Sie das WsdlContractConversionContext-Objekt zum Überprüfen und Ändern von Elementen, die in oder von WSDL konvertiert werden sollen.
Beim Exportieren von Metadaten wird ein WsdlContractConversionContext-Objekt an die ExportContract-Methode und die ExportEndpoint-Methode übergeben. Verwenden Sie die verschiedenen Methoden und Eigenschaften, um Metadatenobjekte zu erhalten, die Sie zum Überprüfen und Ändern des veröffentlichten WSDL verwenden können.
Beim Importieren von Metadaten wird ein WsdlContractConversionContext-Objekt an die ImportContract-Methode und die ImportEndpoint-Methode übergeben. Verwenden Sie die verschiedenen Methoden und Eigenschaften, um Metadatenobjekte zu erhalten, die Sie zum Überprüfen und Ändern der importierten Metadaten verwenden können.
Eigenschaften
Contract |
Ruft den ContractDescription ab, der exportiert oder importiert wird. |
WsdlPortType |
Ruft den PortType ab, der den Vertrag darstellt. |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetFaultDescription(OperationFault) |
Gibt die Fehlerbeschreibung für den angegebenen Fehler zurück. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetMessageDescription(OperationMessage) |
Gibt die Nachrichtenbeschreibung für die angegebene Nachricht zurück. |
GetOperation(OperationDescription) |
Gibt den Vorgang für die angegebene Vorgangsbeschreibung zurück. |
GetOperationDescription(Operation) |
Gibt die dem Vorgang zugeordnete Vorgangsbeschreibung zurück. |
GetOperationFault(FaultDescription) |
Gibt den OperationFault für die angeforderte FaultDescription zurück. |
GetOperationMessage(MessageDescription) |
Ruft ein OperationMessage-Objekt für die angegebene |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |