Pergunta

Estou fazendo o Código perverso Implementação do SQLSITEMAPROVER, exceto no VB.NET.

Existem algumas coisas com o código que estão causando problemas, e não entendo como ele deve funcionar da maneira como está escrito no artigo. Eu forneci o código diretamente do artigo fornecido abaixo. Eu colei o código aqui para facilitar a visualização

Primeira edição-A dependência é instanciada antes (linhas 134-137) A árvore é criada (151-160)-assim, assim que você adiciona a dependência ao http.cache (165-167), o evento OnsitemapChanged (242) incêndio Immedidamente - fazendo com que todo o procceso funcione novamente - e isso loop muitas vezes até que finalmente algo o faça parar. (Passei por ele e contei o código em loop pelo menos 20 vezes antes de desistir de tentar adivinhar quando atingiu o último)

Ok, então, para corrigir isso, acabei de mover o código para a dependência de criar a dependência depois que a árvore é construída, logo antes de inserir http.cache (a propriedade Haschanged é falsa ao adicionar ao http.cache, e você não fica preso Neste loop psuedo-ifinita).

Eu ainda tenho um problema - toda vez que uma página é carregada, o BuildSItemap () hits e a linha 121 verifica se _root não é nulo - parece que nunca é nulo depois de ser construído pela primeira vez ... isso é bom porque eu não Quer acertar o banco de dados de cada vez. Agora, insiro um registro na tabela ... o evento OnsitemapChanged nunca dispara. Enquanto eu navego páginas no aplicativo, o sitemap não reflete o registro recém -inserido - passando pelo código, vejo que a verificação na linha 121 ainda está fazendo com que a função seja curto ... o sitemap só atualizará se eu for -Star o Visual Studio, que faz com que o campo privado se torne nulo novamente, e reconstrua o mapa do site, refletindo as novas mudanças .. (refrescando o navegador ou iniciando novas instâncias do navegador não funciona) ...

EDIT: A edição surgiu de um conjunto bobo 'Nocount on' na parte superior do meu Proc armazenado. Aparentemente, isso quebra a notificação de consulta. Parece que essa afirmação é vista como resultado e que a segunda declaração de consulta real invalida o conjunto de resultados, resultando em uma notificação. Isso foi muito difícil de encontrar e em nenhum lugar na documentação do MSDN até que eu adicionei o comentário. Espero que isso economize a outra pessoa do avarento que eu passei!

Foi útil?

Solução

A edição surgiu de um conjunto bobo 'Nocount on' na parte superior do meu Proc armazenado. Aparentemente, isso quebra a notificação de consulta. Parece que essa afirmação é vista como resultado e que a segunda declaração de consulta real invalida o conjunto de resultados, resultando em uma notificação. Isso foi muito difícil de encontrar e em nenhum lugar na documentação do MSDN até que eu adicionei o comentário. Espero que isso economize a outra pessoa do avarento que eu passei!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top