Partilhar via


Passo a passo: como adicionar receptores de evento de recurso

Receptores de eventos de recurso são métodos executados quando um dos seguintes eventos relacionados a recursos ocorre no SharePoint:

  • Um recurso é instalado.

  • Um recurso é ativado.

  • Um recurso é desativado.

  • Um recurso é removido.

Este passo a passo demonstra como adicionar um receptor de evento a um recurso em um projeto do SharePoint. Ele demonstra as seguintes tarefas:

  • Criação de um projeto vazio com um receptor de evento de recurso.

  • Manipulação do método FeatureDeactivating.

  • Uso do modelo de objeto de projeto do SharePoint para adicionar um comunicado à lista Comunicados.

    Observação

    Seu computador pode mostrar diferentes nomes ou locais para alguns dos elementos de interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, confira Personalizar o IDE.

Pré-requisitos

Você precisará dos seguintes componentes para concluir este passo a passo:

  • Edições do Microsoft Windows e do SharePoint com suporte.

  • Visual Studio.

Criar um projeto de receptor de eventos de recurso

Primeiro, crie um projeto que conterá o receptor de eventos de recurso.

Para criar um projeto com um receptor de evento de recurso

  1. Na barra de menus, escolha Arquivo>Novo>Projeto para exibir a caixa de diálogo Novo Projeto.

  2. Expanda o nó do SharePoint no Visual C# ou no Visual Basic e escolha o nó 2010.

  3. No painel Modelos, escolha o modelo Projeto do SharePoint 2010.

    Você usa esse tipo de projeto para receptores de eventos de recurso porque eles não têm nenhum modelo de projeto.

  4. Na caixa Nome, insira FeatureEvtTest, depois escolha o botão OK para exibir o Assistente de Personalização do SharePoint.

  5. Na página Especificar o site e o nível de segurança para depuração, insira a URL do site do servidor do SharePoint ao qual você deseja adicionar o novo item de campo personalizado ou use o local padrão (http://<system name>/).

  6. Na seção Qual é o nível de confiança para esta solução do SharePoint?, clique no botão da opção Implantar como uma solução de farm.

    Para obter mais informações sobre soluções de área restrita em comparação a soluções de farm, confira Considerações sobre a solução em área restrita.

  7. Escolha o botão Concluir e note que um recurso chamado Feature1 aparece no nó Recursos.

Adicionar um receptor de evento ao recurso

Depois, adicione um receptor de evento ao recurso e adicione o código que será executado quando o recurso for desativado.

Para adicionar um receptor de evento ao recurso

  1. Abra o menu de atalho do nó Recursos, depois escolha Adicionar Recurso para criar um recurso.

  2. No nó Recursos, abra o menu de atalho do Feature1, depois escolha Adicionar Receptor de Eventos para adicionar um receptor de evento ao recurso.

    Isso adiciona um arquivo de código ao Feature1. Nesse caso, ele é chamado de Feature1.EventReceiver.cs ou Feature1.EventReceiver.vb, dependendo da linguagem de desenvolvimento do projeto.

  3. Se seu projeto estiver escrito em Visual C#, adicione o seguinte código na parte superior do receptor do evento caso ele ainda não esteja lá:

    using System;
    
  4. A classe receptora de eventos contém vários métodos com comentários que atuam como eventos. Substitua o método FeatureDeactivating pelo seguinte:

    public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
    {
        try
        {
            // Get reference to SharePoint site.
            SPSite site = new SPSite("http://localhost");
            SPWeb web = site.OpenWeb("/");
            // Get reference to Announcements list.
            SPList announcementsList = web.Lists["Announcements"];
    
            // Add new announcement to Announcements list.
            SPListItem oListItem = announcementsList.Items.Add();
            oListItem["Title"] = "Deactivated Feature: " + properties.Definition.DisplayName;
            oListItem["Body"] = properties.Definition.DisplayName + " was deactivated on: " + DateTime.Now.ToString();
            oListItem.Update();
    
        }
    
        catch (Exception e)
        {
            Console.WriteLine("Error: " + e.ToString());
        }
        
    }
    

Testar o receptor do evento de recurso

Em seguida, desative o recurso para testar se o método FeatureDeactivating gera um anúncio para a lista Comunicados do SharePoint.

Para testar o receptor de eventos de recurso

  1. Defina o valor da propriedade Configuração de Implantação Ativa do projeto como Nenhuma Ativação.

    Ao definir essa propriedade, impede-se que o recurso seja ativado no SharePoint e permite-se depurar receptores de eventos de recurso. Para obter mais informações, confira Depurar soluções do SharePoint.

  2. Escolha a tecla F5 para executar o projeto e implantá-lo no SharePoint.

  3. Na parte superior da página da Web do SharePoint, abra o menu Ações do Site e escolha Configurações do Site.

  4. Na seção Ações do Site da página Configurações do Site, escolha o link Gerenciar recursos do site.

  5. Na página Recursos, escolha o botão Ativar ao lado do Recurso FeatureEvtTest Feature1.

  6. Na página Recursos, escolha o botão Desativar ao lado do Recurso FeatureEvtTest Feature1, depois escolha o link de confirmação Desativar esse recurso para desativar o Recurso.

  7. Escolha o botão Página Inicial.

    Observe que um anúncio aparece na lista Comunicados depois que o recurso é desativado.