Top 3 razões para não desenvolver um “sistema de blog” que gera arquivos aspx na mosca
-
19-09-2019 - |
Pergunta
Nesta questão o OP implica que ele quer basear o sistema de blog que ele está desenvolvendo na criação automática de .aspx arquivos, um para cada nova entrada de blog. Na minha resposta à sua pergunta (que está relacionado com outra coisa), eu disse a ele que eu iria desencorajar-lo de usar essa abordagem, mas sem qualquer fundamentação reais. Ele agora está querendo razões por que não é uma boa idéia, e eu estou usando esta questão para ver se a comunidade pode vir até com uma lista atraente o suficiente razões para ele usar uma outra abordagem, como um usando um SGBD, código -reuse, url-reescrita, MVC, e quais não.
Solução
Existem duas grandes tipos de CMS plataforma de publicação:
- Aqueles que gerar o conteúdo estaticamente . Alguns plataforma de publicação de gerar o conteúdo estaticamente. Neste caso, os arquivos gerados não são dinâmicas e deve ser arquivos HTML. O sistema deve ter a capacidade de regenerar tudo, por exemplo, se um modelo alterado. Houve um tempo em que esta solução tinha algumas vantagens:
- segurança : segurança é gerido ao nível do sistema de arquivos
- Procurar : pesquisa de texto completo foi fácil, porque tudo foi baseado em arquivos
- desempenho : usa menos CPU.
- interatividade : não é possível
- disseminação de conteúdos : a única razão agora para construir ou escolher tal plataforma é se precisa de conteúdo a ser divulgado através de outro canal que a web , por exemplo, CD, revista para download, etc.
.
- Aqueles que processar o conteúdo de forma dinâmica . Para web site, a maneira mais fácil é para processar a página dinamicamente.
- segurança :. De segurança pode ser verificado usando complexo esquema, etc
- Procurar : sistema de busca têm evolui e integrar bem com fontes heterogêneas agora: pode ser um texto completo no banco de dados, arquivos, etc.
- desempenho : este não é mais um problema.
- interatividade : isso é muito mais flexível: o conteúdo pode ser adaptado para o usuário visita, as pessoas podem votar a página, comentário add, etc.
- divulgação de conteúdo : precisa estar online, é claro
Um sistema híbrido foram a gerar estaticamente arquivo que será processado de forma dinâmica (aspx) é para mim um non-sense -. Ele tem as desvantagens de ambos
Outras dicas
Generating separar arquivos ASPX para cada artigo é o uso ineficiente de recursos do servidor:
-
cada novo arquivo aspx vai ser compilado para a DLL. Isto significa uma sobrecarga tempo de execução adicional para compilar o artigo + sobrecarga de memória através de recriação de um novo AppDomain que contém esta nova DLL
-
é possível configurar ASP.Net para compilar todos os arquivos ASPX em um único arquivo DLL, mas que seria ainda pior: Todos os artigos terão que ser recompilados cada vez que um novo artigo é gerada
Uma solução mais aceitável (mas mesmo assim, não o que eu recomendaria) seria gerar arquivos .html estáticos.
páginas.ASPX são para gerar dinamicamente html (e javascript etc.). Ou o mesmo pequeno conjunto de páginas.ASPX deve gerar a saída para todas as entradas de blog (armazenado em uma série de campos) ou (por razões de desempenho) html pré-gerado pode ser armazenado no db (melhor) ou páginas .html.
Gerar uma página .aspx para cada entrada do blog é gerar o ferramenta ??em> para gerar conteúdo. Não faz sentido para qualquer normal. Haverá sobrecarga desnecessária nesse sistema. Sem saber o seu plano exato , ainda posso ter certeza de que pelo menos alguns dos seguintes se aplicam:
- duplicação de código nas páginas .aspx, grande dificuldade de atualizar o layout / comportamento do site
- substancial e sobrecarga desnecessária do IIS ter de processo e constantemente recompilação muitos páginas.ASPX extra.
- pesquisa vai ser um pesadelo, como o conteúdo estará em arquivos . Difícil de configurar e nunca será eficiente.
- Editar, adicionar comentários, moderando será. . . muito difícil.
- A segurança vai ser complicado