locked
Nome de classe de página com underscore (_) RRS feed

  • Pergunta

  • Pessoal,

    Uma coisa sempre me intrigou quando eu crio um WebSite (ao invés do WebApplication): Por que o nome das classes vem com aquela estrutura "bizarra", separando nomes com undercore?

    Exemplo: Se eu crio uma página em /Portal/Modulo1/xxx/Default.aspx o nome da classe será:

    public partial class Portal_Modulo1_xxx_Default { ... }

    Por que não usa a mesma configuração que no WebApplication, criando namespaces? Exemplo:

    namespace Portal.Modulo1.xxx
    {
      public partial class Default { ... }
    }

    Existe alguma limitação que me impeça de fazer isso ou que me traga problemas futuros?

    Na realidade, eu tenho alterado para namespaces (como no exemplo) e, até então, não tive problemas...
    quarta-feira, 28 de janeiro de 2009 20:29

Respostas

  • Olá Danilo,

     

    Essa é uma das características dos projetos do tipo Web Site, que é o tipo de projeto recomendado para pequenas aplicações, onde tudo se concentra em um diretório que contém tudo o que o site precisa, em um único namespace: global.

     

    Uma vez que tudo está em no mesmo namespace, a Microsoft teve de achar uma maneira que permitisse ter páginas com o mesmo nome mas em pastas diferentes, então resolveu incorporar o todo o caminho (que seria o namespace) no nome das classes.

     

    Não há problema em criar (ou alterar) os namespaces, desde que você faça as devidas referências nas outras páginas, mas a verdade é que se você quer um projeto mais organizado e estruturado, então esqueça os projetos do tipo Web Site, e prefira criar projetos do tipo Web Application.

     

    Em minha opinião pessoal, acho que NUNCA devemos utilizar projetos do tipo Web Site... Prefiro sempre utilizar Web Application, e ter todos os code-behinds das páginas compilados em um único assembly, e continuar utilizando a estrutura de namespaces que estou acostumado nos outros tipos de projetos.

     

    ---

     

    De qualquer forma existe um artigo muito interessante que li há algum tempo que fala com mais detalhes sobre as diferenças entre os dois tipos de projetos, e que pode ajudar-te a escolher melhor o tipo de projeto ideal para o seu cenário:

     

    ASP .NET - Web Site vs. Web Application - Part 1
    http://reddnet.net/code/aspnet-web-site-vs-web-application/

     

    ASP .NET - Web Site vs. Web Application - Part 2
    http://reddnet.net/code/asp-net-web-site-vs-web-application-project-part-2/

     

     

    Abraços,
    Caio Proiete




    Caio Proiete
    http://www.caioproiete.com
    quinta-feira, 29 de janeiro de 2009 01:04

Todas as Respostas

  • Olá Danilo,

     

    Essa é uma das características dos projetos do tipo Web Site, que é o tipo de projeto recomendado para pequenas aplicações, onde tudo se concentra em um diretório que contém tudo o que o site precisa, em um único namespace: global.

     

    Uma vez que tudo está em no mesmo namespace, a Microsoft teve de achar uma maneira que permitisse ter páginas com o mesmo nome mas em pastas diferentes, então resolveu incorporar o todo o caminho (que seria o namespace) no nome das classes.

     

    Não há problema em criar (ou alterar) os namespaces, desde que você faça as devidas referências nas outras páginas, mas a verdade é que se você quer um projeto mais organizado e estruturado, então esqueça os projetos do tipo Web Site, e prefira criar projetos do tipo Web Application.

     

    Em minha opinião pessoal, acho que NUNCA devemos utilizar projetos do tipo Web Site... Prefiro sempre utilizar Web Application, e ter todos os code-behinds das páginas compilados em um único assembly, e continuar utilizando a estrutura de namespaces que estou acostumado nos outros tipos de projetos.

     

    ---

     

    De qualquer forma existe um artigo muito interessante que li há algum tempo que fala com mais detalhes sobre as diferenças entre os dois tipos de projetos, e que pode ajudar-te a escolher melhor o tipo de projeto ideal para o seu cenário:

     

    ASP .NET - Web Site vs. Web Application - Part 1
    http://reddnet.net/code/aspnet-web-site-vs-web-application/

     

    ASP .NET - Web Site vs. Web Application - Part 2
    http://reddnet.net/code/asp-net-web-site-vs-web-application-project-part-2/

     

     

    Abraços,
    Caio Proiete




    Caio Proiete
    http://www.caioproiete.com
    quinta-feira, 29 de janeiro de 2009 01:04
  • Caio, corcordo em gênero número e grau sobre o uso de WebApplication ao invés do WebSite.

    A minha dúvida era apenas em relação aos nomes de classes mesmo. Eu já utilizo a divisão de NS há alguns meses.

    Bom, eu gostaria de usar sempre  WebApplication, porém aqui na empresa temos um "probleminha" com licensas. Aquele tipo da coisa: se podemos usar gratuito, por que pagar? E nós, pobres mortais, que temos que "engolir" os sapos que aparecem no meio do caminho e tentar criar os artifícios para "burlar" algumas coisas..

    Então, eu uso o VWD Express e, até onde vi, ele não permite a criação de WebApplication. Porém, enquanto escrevia este Post fui procurar algo a respeito e achei uma thread aqui no MSDN de Ricardo Oneda afirmando que com o SP1 já é possível utilizar WebApplication no VWD -> Web Application no Web Developer Express

    Vou ver se "meus pobrema si acabaram-si" !!!

    Sobre a geração de único assembly, eu solucionei isso criando uma pequena aplicação para compilar o WebSite, fazendo chamada ao compilador do FW.Net passando os parâmetros necessários...

    Enfim, temos que nos adequar ao meio...
    quinta-feira, 29 de janeiro de 2009 12:36
  • Olá Danilo,

     

     Danilo Freitas wrote:

    Bom, eu gostaria de usar sempre  WebApplication, porém aqui na empresa temos um "probleminha" com licensas. Aquele tipo da coisa: se podemos usar gratuito, por que pagar? E nós, pobres mortais, que temos que "engolir" os sapos que aparecem no meio do caminho e tentar criar os artifícios para "burlar" algumas coisas..

     

    OK... Tá explicado. Espero que a empresa compense essas limitações de outras formas para você Wink.

     


     Danilo Freitas wrote:

    Vou ver se "meus pobrema si acabaram-si" !!!

     

    Ótimo!. Não esqueça de voltar aqui ao tópico e nos dizer se deu tudo certo.



     Danilo Freitas wrote:

    Sobre a geração de único assembly, eu solucionei isso criando uma pequena aplicação para compilar o WebSite, fazendo chamada ao compilador do FW.Net passando os parâmetros necessários...

     

    Quem não tem cão...

     

     

    Abraços,
    Caio Proiete




    Caio Proiete
    http://www.caioproiete.com
    quinta-feira, 29 de janeiro de 2009 15:09