Pergunta

Um dos projetos que eu estava no comando como um desenvolvedor JSP / Struts no meu último empregador era uma biblioteca de temas tag (presente em todos os servidores WebSphere como uma biblioteca compartilhada) que permitem que qualquer dev web Java na atração empresa em qualquer dos temas padrão, como intranet, público, etc, com o mínimo esforço. Os temas incluídos cabeçalho, rodapé, navegação e links para css e javascript, etc. Eles poderiam até mesmo personalizar as coisas um pouco quando lhes deu a opção, como escolher um guia selecionada.

Esta configuração foi ideal porque podemos fazer a mudança centralizada para todos os elementos de interface do usuário padrão e eles foram automaticamente puxado por todos os sites usando temas sem qualquer esforço por parte do desenvolvedor do site.

Com o novo trabalho que começou em dezembro, já passou a usar ASP.NET. Eu gostaria de propor algo semelhante em espírito aos temas app aqui, já que estamos executando um monte de sites diferentes que devem ter uma aparência unificada e sentir.

Qual é a melhor maneira de conseguir isso? Eu prefiro não ter a nada recompilação para atualizar o tema para fazer este trabalho.

Editar:

Embora eu estava esperando por uma resposta melhor, os deuses .NET aparentemente não aprovam o que eu estava tentando realizar. Aqui estão as três opções que foram encontrados:

  1. Compilar uma página mestra em um DLL e colocá-lo no GAC: Isso funciona em casos simples, mas como um hack é muito frágil. Eu não poderia fazê-lo funcionar corretamente com o nosso site.

  2. Criar um diretório virtual para a página mestra em cada aplicativo web: Isso realmente funciona, apesar de não fazer para um ambiente de desenvolvimento muito confortável. No entanto, uma das coisas que estamos a tentar afastar-se é ter que criar diretórios virtuais dentro de cada aplicação web. Não dados.

  3. Criar um grupo de controles personalizados, compilá-los em um DLL, e colocá-lo no GAC: Esta é a resposta que eu selecionado. É a opção menos centralizada e requer mais trabalho para o desenvolvedor de cada site, mas parece ser a única maneira Microsoft-abençoado.

Em conclusão, estou muito frustrado com .NET sobre isso. No grande esquema das coisas As páginas mestras são apenas código, e eu não vejo nenhuma razão para que eles não poderiam ser facilmente centralizado para uso em várias aplicações web. Esta parece ser uma grande perda em comparação com JSP / Java.

Foi útil?

Solução

Você pode colocar um pouco de UI na forma de controles personalizados ou controles de servidor (se não em MVC) e, em seguida, colocá-los no GAC distribuindo-os assim. Todas as referências aos controles em que a montagem será retirado da versão mais recente no GAC. Você também pode fazer as coisas através do Machine.config que é controlada no nível do servidor, em vez do nível de aplicação.

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