ServiceContractGenerationContext Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Passado ao GenerateContract(ServiceContractGenerationContext) método para permitir a modificação de um contrato de serviço e do seu contexto antes de gerar código.
public ref class ServiceContractGenerationContext
public class ServiceContractGenerationContext
type ServiceContractGenerationContext = class
Public Class ServiceContractGenerationContext
- Herança
-
ServiceContractGenerationContext
Exemplos
O exemplo seguinte mostra a utilização do ServiceContractGenerationContext objeto passado ao IServiceContractGenerationExtension.GenerateContract método para adicionar comentários de código extraídos de elementos WSDL personalizados.
public void GenerateContract(ServiceContractGenerationContext context)
{
Console.WriteLine("In generate contract.");
context.ContractType.Comments.AddRange(Formatter.FormatComments(commentText));
}
O seguinte exemplo de código mostra os comentários de código resultantes.
/// From WSDL Documentation:
///
/// <summary>This contract is a stateless contract that provides a mechanism for
/// computing the nth Fibonacci term.</summary>
///
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(Namespace="http://microsoft.wcf.documentation", ConfigurationName="IFibonacci")]
public interface IFibonacci
{
/// From WSDL Documentation:
///
/// <summary>The Compute operation returns the nth Fibonacci number. Because it
/// uses dual recursion it's very inefficient and therefore useful to demonstrate
/// caching.</summary><returns>The nth Fibonacci number.</returns><param
/// name="num">The value to use when computing the Fibonacci number.</param>
///
[System.ServiceModel.OperationContractAttribute(Action="http://microsoft.wcf.documentation/IFibonacci/Compute", ReplyAction="http://microsoft.wcf.documentation/IFibonacci/ComputeResponse")]
int Compute(int num);
/// From WSDL Documentation:
///
/// <summary>The GetPerson operation tests custom WSDL documentation
/// generation.</summary><returns>The Person object to be returned.</returns><param
/// name="FirstParameter">The value for the first parameter.</param><param
/// name="SecondParameter">The value for the second parameter.</param>
///
[System.ServiceModel.OperationContractAttribute(Action="http://microsoft.wcf.documentation/IFibonacci/GetPerson", ReplyAction="http://microsoft.wcf.documentation/IFibonacci/GetPersonResponse")]
Microsoft.WCF.Documentation.Person GetPerson(int FirstParameter, int SecondParameter);
}
'''From WSDL Documentation:
'''
'''<summary>This contract is a stateless contract that provides a mechanism for
'''computing the nth Fibonacci term.</summary>
'''
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0"), _
System.ServiceModel.ServiceContractAttribute([Namespace]:="http://microsoft.wcf.documentation", ConfigurationName:="IFibonacci")> _
Public Interface IFibonacci
'''From WSDL Documentation:
'''
'''<summary>The Compute operation returns the nth Fibonacci number. Because it
'''uses dual recursion it's very inefficient and therefore useful to demonstrate
'''caching.</summary><returns>The nth Fibonacci number.</returns><param
'''name="num">The value to use when computing the Fibonacci number.</param>
'''
<System.ServiceModel.OperationContractAttribute(Action:="http://microsoft.wcf.documentation/IFibonacci/Compute", ReplyAction:="http://microsoft.wcf.documentation/IFibonacci/ComputeResponse")> _
Function Compute(ByVal num As Integer) As Integer
'''From WSDL Documentation:
'''
'''<summary>The GetPerson operation tests custom WSDL documentation
'''generation.</summary><returns>The Person object to be returned.</returns><param
'''name="FirstParameter">The value for the first parameter.</param><param
'''name="SecondParameter">The value for the second parameter.</param>
'''
<System.ServiceModel.OperationContractAttribute(Action:="http://microsoft.wcf.documentation/IFibonacci/GetPerson", ReplyAction:="http://microsoft.wcf.documentation/IFibonacci/GetPersonResponse")> _
Function GetPerson(ByVal FirstParameter As Integer, ByVal SecondParameter As Integer) As Microsoft.WCF.Documentation.Person
End Interface
Observações
Use o ServiceContractGenerationContext objeto passado ao IServiceContractGenerationExtension.GenerateContract método para modificar o modelo de objeto do documento de código antes da geração do código. Normalmente, a System.ServiceModel.Description.IServiceContractGenerationExtension interface é implementada numa implementação personalizada System.ServiceModel.Description.IWsdlImportExtension que é usada para importar elementos WSDL personalizados ou modificar o código ao nível do serviço ou operação. Para modificar o código ao nível da operação, veja System.ServiceModel.Description.IOperationContractGenerationExtension.
Construtores
| Name | Description |
|---|---|
| ServiceContractGenerationContext(ServiceContractGenerator, ContractDescription, CodeTypeDeclaration, CodeTypeDeclaration) |
Inicializa uma nova instância da ServiceContractGenerationContext classe usando o gerador de contrato especificado, a descrição do contrato e a declaração do tipo de código contratual. |
| ServiceContractGenerationContext(ServiceContractGenerator, ContractDescription, CodeTypeDeclaration) |
Inicializa uma nova instância da ServiceContractGenerationContext classe usando o gerador de contrato especificado, a descrição do contrato e a declaração do tipo de código contratual. |
Propriedades
| Name | Description |
|---|---|
| Contract |
Obtém-nos ContractDescription para o contrato atual. |
| ContractType |
Obtém-nos CodeTypeDeclaration para o contrato atual. |
| DuplexCallbackType |
Obtém o CodeTypeDeclaration contrato de devolução de devolução do duplex no contrato de serviço. |
| Operations |
Obtém uma coleção de OperationContractGenerationContext objetos que representam as operações contritárias. |
| ServiceContractGenerator |
Obtém o ServiceContractGenerator que é para gerar o contrato. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |