none
Controller fora do projeto WEB RRS feed

  • Pergunta

  • Boa tarde pessoal,

    Pessoal é o seguinte, tenho que criar uma aplicação no modelo MVC, até ai tudo bem, o porém é que preciso colocar o model e o controller em libraries separadas (projeto do tipo classlibrarie), ou seja, os models ficariam em uma dll, e os controllers em outra dll e o projeto web em si, onde teria as views chamariam a dll controller que por conseguinte jamariam a dll model, a questão é, como faço para rotear desta maneira? Como passar para o arquivo global.asax que meu controller está em outro projeto?

    Desde já agradeço.

    Atenciosamente,

    Henrique Costa
    Os fracos usam armas, os fortes usam idéias.
    segunda-feira, 20 de julho de 2009 19:50

Respostas

  • Henrique,

    Concordo com o Rafael, não vejo muito motivo para separar o controller do projeto principal do MVC.
    Mas se quiser fazer, baixe o CodeCampServer. Lá tem um modelo que faz exatamente o que você quer:
    http://code.google.com/p/codecampserver/
    No exemplo ele criou um controller factory e fez o trabalho na mão. É uma opção.
    Além disso, o projeto é um excelente exemplo de arquitetura.
    Giovanni Bassi, Microsoft MVP, MCSD, MCPD, CSM, Arquiteto de software - http://www.giovannibassi.com
    terça-feira, 21 de julho de 2009 07:41
    Moderador
  • Henrique,

    Não vejo muito segredo.
    Provavelmente adicionar uma referência no projeto web à dll dos Controllers deve ser o suficiente.

    Chamo a atenção para o fato de você não ter muito a ganhar colocando os Controllers em um assembly a parte.
    Se a idéia é componentizar você tem aí um grande equívoco, pois os Controllers são naturalmente acoplados com o contexto asp net e com aplicação em si.

    Separar os objetos do Model sim pode fazer sentido, dependendo do cenário.
    []'s
    Rafael Noronha
    http://rafanoronha.net/
    follow me: @rafanoronha
    segunda-feira, 20 de julho de 2009 21:14

Todas as Respostas

  • Henrique,

    Não vejo muito segredo.
    Provavelmente adicionar uma referência no projeto web à dll dos Controllers deve ser o suficiente.

    Chamo a atenção para o fato de você não ter muito a ganhar colocando os Controllers em um assembly a parte.
    Se a idéia é componentizar você tem aí um grande equívoco, pois os Controllers são naturalmente acoplados com o contexto asp net e com aplicação em si.

    Separar os objetos do Model sim pode fazer sentido, dependendo do cenário.
    []'s
    Rafael Noronha
    http://rafanoronha.net/
    follow me: @rafanoronha
    segunda-feira, 20 de julho de 2009 21:14
  • Henrique,

    Concordo com o Rafael, não vejo muito motivo para separar o controller do projeto principal do MVC.
    Mas se quiser fazer, baixe o CodeCampServer. Lá tem um modelo que faz exatamente o que você quer:
    http://code.google.com/p/codecampserver/
    No exemplo ele criou um controller factory e fez o trabalho na mão. É uma opção.
    Além disso, o projeto é um excelente exemplo de arquitetura.
    Giovanni Bassi, Microsoft MVP, MCSD, MCPD, CSM, Arquiteto de software - http://www.giovannibassi.com
    terça-feira, 21 de julho de 2009 07:41
    Moderador