none
[Event Receiver] Criação de várias versões de item após execução de Event Receiver. O que pode ser? RRS feed

  • Pergunta

  • Olá,
    Tenho uma lista no meu sharepoint 2010.
    Neste lista tenho um Event Receiver atuando após a atualização de item.

    Quando atualizo um item, o meu Event Receiver trabalha e trata a informação necessária e, em seguida, atualiza o item.

    Depois quando vou no item e vejo as suas versões, o meu Event Receiver criou umas 11 versões do item.
    Existe alguma forma de resolver isto?
    Ou seja, fazer com que o Event Receiver apenas crie uma versão de edição?

    Obrigado

    k2rto4-Pb - Analista SharePoint

    quarta-feira, 22 de janeiro de 2014 15:47

Respostas

  • Você pode testar utilizando o EventFiringEnabled e o EventFiringDisabled?

    Atenciosamente, Rafael Fausto

    • Marcado como Resposta TI DEV sexta-feira, 24 de janeiro de 2014 15:33
    sexta-feira, 24 de janeiro de 2014 12:59
  • Fala Rafael,

    Funcionou aqui quando eu utilizei o EventFiringEnabled.

    Bastou eu adicionar as linhas referentes ao EventFiringEnabled para o sistema parar de adicionar/criar as versões sem necessidades. Seguem as partes de linhas do meu código:

                    this.EventFiringEnabled = false;
    
                    properties.ListItem["Coluna"] = "Valor";
                    properties.ListItem.Update();
    
                    this.EventFiringEnabled = true;

    Abs


    k2rto4-Pb - Analista SharePoint


    • Editado TI DEV sexta-feira, 24 de janeiro de 2014 15:32
    • Marcado como Resposta TI DEV sexta-feira, 24 de janeiro de 2014 15:33
    sexta-feira, 24 de janeiro de 2014 15:32

Todas as Respostas

  • Você está utilizando o EventFiringEnabled e o EventFiringDisabled?

    Pode pubicar seu código?


    Atenciosamente, Rafael Fausto

    quinta-feira, 23 de janeiro de 2014 18:54
  • Olá Rafael,

    Tudo certo?

    Eu não utilizo o EventFiringEnabled e nem o EventFiringDisabled.

    Segue meu código:

    public override void ItemAdded(SPItemEventProperties properties)
            {
                base.ItemAdded(properties);
    
                try
                {
                    properties.ListItem["Coluna"] = "valor";
                    properties.ListItem.Update();
    
                }
                catch (Exception ex)
                {
                }
            }

    Algo do tipo.

    Deste jeito o meu sistema gera sempre 11 versões do mesmo item após a alteração da "Coluna".

    Abs


    k2rto4-Pb - Analista SharePoint


    • Editado TI DEV sexta-feira, 24 de janeiro de 2014 11:17
    sexta-feira, 24 de janeiro de 2014 11:16
  • Você pode testar utilizando o EventFiringEnabled e o EventFiringDisabled?

    Atenciosamente, Rafael Fausto

    • Marcado como Resposta TI DEV sexta-feira, 24 de janeiro de 2014 15:33
    sexta-feira, 24 de janeiro de 2014 12:59
  • Olá,

    Irei fazer este teste sim. Seria muito bom se isso resolvesse o meu problema.

    Rafael,

    Outra coisa estranha acontece por aqui.

    Não se é por causa de configurações de navegador (Sempre utilizo o IE), versão, etc.

    Quando utilizo o IE de outro setor aqui da empresa, o mesmo não deixa o Event Receiver ser executado corretamente. O erro que levo é:

    A validação de segurança desta página é inválida. Clique em Voltar no navegador da Web, atualize a página e tente a operação novamente.

    Não sei o porquê disto, mas acesso com minha conta logada no mesmo sistema. Então, se eu acesso aqui da minha estação de trabalho, tudo funciona. Agora se acesso de lá, eu tomo o erro descrito acima.

    Estranho não é?

    Vou fazer o teste aqui.

    Abs


    k2rto4-Pb - Analista SharePoint

    sexta-feira, 24 de janeiro de 2014 13:44
  • Estranho por aqui,

    Agora nem na minha estação o Event Receiver funciona mais.

    Dá o erro abaixo:

    A validação de segurança desta página é inválida. Clique em Voltar no navegador da Web, atualize a página e tente a operação novamente

    Abs


    k2rto4-Pb - Analista SharePoint

    sexta-feira, 24 de janeiro de 2014 13:55
  • Fala Rafael,

    Funcionou aqui quando eu utilizei o EventFiringEnabled.

    Bastou eu adicionar as linhas referentes ao EventFiringEnabled para o sistema parar de adicionar/criar as versões sem necessidades. Seguem as partes de linhas do meu código:

                    this.EventFiringEnabled = false;
    
                    properties.ListItem["Coluna"] = "Valor";
                    properties.ListItem.Update();
    
                    this.EventFiringEnabled = true;

    Abs


    k2rto4-Pb - Analista SharePoint


    • Editado TI DEV sexta-feira, 24 de janeiro de 2014 15:32
    • Marcado como Resposta TI DEV sexta-feira, 24 de janeiro de 2014 15:33
    sexta-feira, 24 de janeiro de 2014 15:32