IOperationContractGenerationExtension.GenerateOperation Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Рекомендуется реализовать, чтобы изменить Code Document Object Model до процесса создания контракта.
public:
void GenerateOperation(System::ServiceModel::Description::OperationContractGenerationContext ^ context);
public void GenerateOperation (System.ServiceModel.Description.OperationContractGenerationContext context);
abstract member GenerateOperation : System.ServiceModel.Description.OperationContractGenerationContext -> unit
Public Sub GenerateOperation (context As OperationContractGenerationContext)
Параметры
Рабочий контекст, который содержит типыSystem.CodeDom, необходимые для изменения создаваемой операции.
Примеры
В следующем примере кода показана реализация метода GenerateOperation, который добавляет строку к разделу комментариев операции, используя пространство имен System.CodeDom.
В следующем примере кода показано, как поведение операции, реализующее IOperationContractGenerationExtension, вставляется в коллекцию OperationDescription.Behaviors при вызове IWsdlImportExtension.ImportContract.
public void ImportContract(WsdlImporter importer, WsdlContractConversionContext context)
{
Console.Write("ImportContract");
// Contract Documentation
if (context.WsdlPortType.Documentation != null)
{
context.Contract.Behaviors.Add(new WsdlDocumentationImporter(context.WsdlPortType.Documentation));
}
// Operation Documentation
foreach (Operation operation in context.WsdlPortType.Operations)
{
if (operation.Documentation != null)
{
OperationDescription operationDescription = context.Contract.Operations.Find(operation.Name);
if (operationDescription != null)
{
operationDescription.Behaviors.Add(new WsdlDocumentationImporter(operation.Documentation));
}
}
}
}
В заключение, в следующем примере кода показана операция, созданная в Visual Basic и в C#.
/// From WSDL Documentation:
///
/// <summary>The string for the Name data member.</summary>
///
[System.Runtime.Serialization.DataMemberAttribute()]
public string Name
{
get
{
return this.NameField;
}
set
{
this.NameField = value;
}
}
'''From WSDL Documentation:
'''
'''<summary>The string for the Name data member.</summary>
'''
<System.Runtime.Serialization.DataMemberAttribute()> _
Public Property Name() As String
Get
Return Me.NameField
End Get
Set
Me.NameField = value
End Set
End Property
Комментарии
Как правило пользовательское расширение System.ServiceModel.Description.IWsdlImportExtension вставляет пользовательское поведение операции в коллекцию OperationDescription.Behaviors при вызове IWsdlImportExtension.ImportContract или IWsdlImportExtension.ImportEndpoint.
Метод GenerateOperation вызывается один раз для каждого контракта.