Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Visão geral sobre as conexões de Web Parts

Os controles Web Parts permitem criar conexões entre controles de servidor, de modo que o valor total e utilidade dos controles conectados exceda a do indivíduo, controles desconexos. A complete, integrated set of connection components is provided, so that with a minimal number of steps, a few lines of code, and no need to handle all the underlying complexity and synchronization of data, you can equip existing WebPart (or server or user) controls to form connections. Com controles que são habilitados para conexões, você pode criar, conexões dinâmicas programáticas entre os controles em tempo de execução, bem como conexões estáticas pré-definidas declaradas na marcação de uma página da Web. Você também pode fornecer aos usuários uma interface de usuário (UI) que lhes permite ligar ou desligar os controles em tempo de execução, e gerenciar as conexões existentes.

Conexões oferecem vantagens para usuários e desenvolvedores. Usando conexões, os usuários podem encontrar maneiras novas e significativas para exibir seus dados. Suponha que você construa uma aplicação em que os contatos de controle de um servidor de um serviço Web, retornam registros históricos de temperaturas médias diárias de um estado e lista os dados em forma de tabela. Se um usuário quiser a flexibilidade para visualizar os dados de maneiras diferentes, o controle de servidor pode ser conectado a um controle gráfico que pode consumir dados tabulares e exibi-lo em vários pontos de vista gráfico. O usuário pode até dar a opção de se exibir os dados em uma tabela ou ligar os dados de temperatura para o controle de gráficos. Com os novos pontos de vista dos dados, os usuários poderão notar novas tendências e relacionamentos em temperaturas que eram mais difíceis de visualizar com os dados em forma de tabela.

Usando conexões, os desenvolvedores podem descobrir novas oportunidades para a reutilização de código, e para combinar a funcionalidade de controles isolados. Suponha que um desenvolvedor cria um controle que salva as informações de endereço para o usuário, incluindo um código postal, e torna esta informação sempre disponível para preencher o formulário de endereço de entrega quando as ordens do usuário alguma coisa. Em seguida, o desenvolvedor adiciona outros controles que dependem de um código postal específico, como controles para exibir informações sobre o tempo e notícias na área do usuário, bem como um controle que parece de empresas por categoria dentro de um determinado código postal. Ao invés de projetar cada novo controle com o mesmo recurso de salvar um código postal, o desenvolvedor poderia projetar cada controle para exigir a entrada de um código postal. Em seguida, o desenvolvedor pode simplesmente conectar o controle que já salva o código postal para os controles de tempo, notícias, e da lista de negócios que levam um código postal como uma entrada. Cada conexão estende a utilidade do controle original e elimina a redundância no código dos novos controles.

A conexão de Web Parts é um link ou associação entre dois controles de servidor que lhes permite compartilhar dados. Uma conexão sempre envolve exatamente dois controles: um é o provedor de dados e o outro é o consumidor dos dados do provedor. A control can be both a consumer and a provider, and any type of server control, whether a WebPart control, a custom control, or a user control, can be designed to participate in connections. A provider control by default can establish connections with multiple consumers at the same time (like the previous example of a postal code control that provides a postal code to a weather information control, a news headline control, and a business listing control). Um controle do consumidor por padrão pode se conectar a apenas um provedor de cada vez.

Conexões sempre tem lugar no contexto de um aplicativo Web Parts, o que significa que, no mínimo, além dos dois controles de servidor que participam da conexão, dois controles adicionais são necessárias na página da Web. One of them is the WebPartManager control, which is present on every page that contains Web Parts controls. The second required control is a zone that inherits from the WebPartZoneBase class, such as the WebPartZone control. Any two server controls, in order to form a connection, must reside within a WebPartZoneBase type of zone.

Numa relação de ligação, o consumidor e o fornecedor de cada, de pelo menos, um objecto associado denominado ponto de ligação. Based on the ConnectionPoint class, a connection point contains the details necessary for a server control to connect to another control, such as the type of the control itself, the type of data the control recognizes, an ID for the connection point object, and whether the control can form multiple connections. Um controle de servidor pode ter vários pontos de conexão. A provider's connection points are defined by instances of the ProviderConnectionPoint class, and the consumer's are defined by instances of the ConsumerConnectionPoint class.

Para formar uma conexão, o consumidor e o provedor devem ambos reconhecer o mesmo tipo de dados, que em conexões de Web Parts é transmitida por meio de uma instância da interface. The type of data that a control recognizes is specified in the control's associated connection point, in the InterfaceType property. Se o fornecedor e consumidor reconhecer o mesmo tipo de dados, que são compatíveis. Se um provedor e consumidor são incompatíveis, um desenvolvedor deve usar um objeto especial transformador para traduzir os dados do provedor em uma forma de o consumidor pode trabalhar. This transformer object inherits from the base WebPartTransformer class, and a developer can either inherit from the base class to develop a custom transformer, or use one of the provided transformer objects (RowToFieldTransformer or RowToParametersTransformer).

After a connection has been created, it is contained in a WebPartConnection object. The connection object encapsulates all the details about a connection, including references to its consumer and provider objects, the IDs of the consumer and provider, references to any connection points and their IDs, references to any transformers associated with the connection, and details about the state of the connection, such as whether it is active and whether it is static or dynamic.

You can provide users with a way to create and manage connections by using the ConnectionsZone control. You can declare an <asp:connectionszone> element on a Web page, which provides users with a run-time UI that allows them to connect or disconnect controls, and to configure certain connection details.

Conexões de Web Parts são baseadas em um modelo de "puxar" de conectividade, onde o consumidor obtém dados do provedor. Para criar uma conexão, um controle que atua como um provedor de dados define um contrato de comunicação, indicando os dados que ele pode proporcionar. Outro controle, atuando como o consumidor e com conhecimento do contrato de comunicação, recupera esses dados.

O mecanismo para estabelecer uma conexão é um métodode callback especial: um consumidor e um no provedor. No entanto, o controle Web Parts lida com todos os callback e comunicação de detalhes, então os passos necessários de desenvolvimento são mínimos. As a developer, if you want to use the simplest approach, all you have to do is select a method in the provider to use as the callback method, and mark it in the source code with a ConnectionProvider attribute. Em seguida, no interior desse método, é retornado o exemplo de interface que contém os dados para transmitir para o consumidor. A instância da interface pode ser muito simples (por exemplo, uma única propriedade que contém um valor de seqüência como um código postal). A provider can implement one of the provided interfaces (IWebPartField, IWebPartRow, or IWebPartTable), but in most cases it is preferable to create a simple, custom interface with one or more properties or methods containing the data you want to share with a consumer, and implement that interface in the provider. Método de retorno do consumidor recupera a instância da interface do provedor. Again, all that is required of a developer is to identify which method in the consumer (using a ConnectionConsumer attribute) will retrieve the interface instance, and assign it to some internal variable for processing and rendering. Note that the data from the provider is passed during the prerendering phase of the page and control cycle, so you should plan to process the data and update any logic in the consumer after prerendering is complete.

ObservaçãoObservação

As mentioned previously, the consumer and provider must be compatible with regard to the interface type, or else they must use a WebPartTransformer object to establish the connection.

O pipeline através do qual os dados são trocados são os pontos de conexão para o consumidor e provedor. Você pode criar um ponto de conexão para um controle de várias maneiras. As mentioned in the preceding paragraph, you can use the ConnectionConsumerAttribute or ConnectionProviderAttribute classes, which each create a connection point for you. In this approach, you can add a ConnectionConsumer attribute to the consumer's callback method in the source code, and similarly add a ConnectionProvider attribute to the provider's callback method. This identifies the respective callback methods, and allows you to specify some details about the connection point, such as an ID and a display name (which appears in the UI for users to form connections). As another alternative, you can create a custom connection point by inheriting from ConnectionPoint, or you can use or inherit from the ConsumerConnectionPoint or ProviderConnectionPoint classes. Como observado anteriormente, um controle que atua como um consumidor ou um provedor pode ter vários pontos de conexão.

A conexão entre os controles pode ser estática ou dinâmica. Conexões estáticas são codificadas declarativamente na página de hospedagem e criadas durante a fase de pré-processamento da página. Isso garante que a conexão está ativa quando um usuário visualiza a página. Para um exemplo, veja Como: declarar uma conexão estática entre dois controles Web Parts. Conexões dinâmicas podem ser criadas através de programação no código do controle ou declarativamente na página de hospedagem. If you declare two compatible server controls within a WebPartZoneBase zone on a Web page, and declare an instance of the ConnectionsZone control on the page, users can create and configure a dynamic connection between the controls at run time.

Conexões contrastam de várias maneiras com as outras técnicas do ASP.NET para a transferência de informações entre os controles em um aplicativo Web:

  • As conexões são uma característica da Web Parts. You can only connect controls that are designed for Web Parts connections and that reside within a WebPartZoneBase zone.

    ObservaçãoObservação

    Como observado anteriormente, qualquer controle ASP.NET de servidor, controle personalizado, ou controle de usuário pode ser usado como um controle Web Parts para tirar proveito das conexões.

  • Conexões são diferentes de data binding . Conexões entre os controles em uma zona de Web Parts usam uma interface para criar um contrato entre os controles. A ligação de dados é uma conexão entre um controle e um dispositivo de armazenamento ou banco de dados back-end. As Conexões das Web Parts movem os dados somente entre os controles de uma página.

  • As conexões podem ser personalizadas. Configurações de conexão que indicam quais controles estão conectados podem ser armazenadas com segurança com outros dados de personalização. Para mais informações sobre personalização, veja Visão geral sobre a personalização de Web Parts.

A tabela a seguir mostra três componentes nos controles de Web Parts que são essenciais para as conexões, e que você trabalha direta ou indiretamente sempre que usar conexões.

Controles Web Parts

Descrição

WebPartManager

Gerencia todas as conexões entre controles na zona das Web Parts de uma página. Um (e somente um) controle WebPartManager é necessário para cada página que trabalha com Web Parts.

WebPartZoneBase

WebPartZone

The WebPartZoneBase base class provides the required context in which server controls can connect and exchange data. You can inherit from the base class to create a custom zone, or use the WebPartZone control as the actual zone to contain the server controls involved in a connection.

WebPartConnection

Representa uma conexão, com referências para o provedor e consumidor, e todos os outros componentes necessários de uma conexão.

ConnectionPoint

ProviderConnectionPoint

ConsumerConnectionPoint

The ConnectionPoint base class defines an object that is associated with a consumer or provider and contains the details necessary to exchange data. The ProviderConnectionPoint is associated with the provider, and the ConsumerConnectionPoint is associated with the consumer.

ConnectionsZone

Fornece uma interface do usuário que permite aos usuários criarem em tempo de execução, as conexões dinâmicas entre controles de servidor.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft