none
Definir Rotas para outras aplicações? RRS feed

  • Pergunta

  • Olá a todos,

    É possível criar uma rota para uma outra aplicação web. Fiz um mixing de um website para usar asp.net mvc e funcionou. Ao invés de migrar e mover toda a aplicação para outra eu gostaria de saber se é possível fazer uma referencia do projeto e mapear uma rota para eu enxergar a partir da aplicação que quero fazer integração. São muitas funcionalidades e estamos querendo integrar uma com a outra. Exemplo:

    Tenho uma aplicação em WebSite e outra em MVC 1 e 2. Gostaria de poder acessar as funcionalidades das aplicações em MVC a partir da aplicação WebSite.

    O que já consegui:

    Fiz referência dos projetos e tentei uma rota algo assim:

     

    routes.MapRoute("Site1", "Site1/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = "" }, new[]{"Site1.Controllers"});
    

     

    Ele consegue enxergar, mas dá vários erros e não roda. Cheguei ao erro em que ele não acha as views:

     

    System.InvalidOperationException: The view 'Index' or its master was not found. The following locations were searched
    

     

    O mixing funcionou direitinho: http://www.packtpub.com/article/mixing-asp.net-webforms-and-asp.net-mvc

    É possível?

    Agradeço desde já a todos pela ajuda.

    quinta-feira, 25 de novembro de 2010 17:35

Respostas

  • Crei que é possível, mas ele tentará encontrar a view na aplicação onde está sendo executado. Faça o seguinte:

    Na sua pasta de views crie uma extrutura similar a de onde está tentando chamar as views, por exemplo:

    Digamos que o seu projeto principal é chamado de Projeto_1 e o secundário de onde quer chamar as views é Projeto_2, vá no Projeto_1 e nas views crie uma estrutura de pastas igual a do Projeto_2:

    Projeto_2

    -Views

    --PaginadoBolinha

    ---index.cshtml

    No Projeto_1 você mantém as suas views de lá e adiciona a pasta PaginadoBolinha, porém não adicione uma view

    Projeto_1

    -Views

    --Home

    --Account

    --PaginadoBolinha

    Na pasta PaginadoBolinha, clique com o botão direito e em Add Existing Item, vá até o Projeto_2/Views/PaginadoBolinha e selecione a(s) view(s), porém não clique em Add, clique na seta para baixo ao lado do add e nela selecione o Add as Link, isso criará um atalho para a view.

    PS. Nunca experimentei isso, vi isso em algum artigo.

    • Marcado como Resposta Fernando Sanches segunda-feira, 26 de novembro de 2012 10:24
    sábado, 24 de novembro de 2012 13:27

Todas as Respostas

  • Crei que é possível, mas ele tentará encontrar a view na aplicação onde está sendo executado. Faça o seguinte:

    Na sua pasta de views crie uma extrutura similar a de onde está tentando chamar as views, por exemplo:

    Digamos que o seu projeto principal é chamado de Projeto_1 e o secundário de onde quer chamar as views é Projeto_2, vá no Projeto_1 e nas views crie uma estrutura de pastas igual a do Projeto_2:

    Projeto_2

    -Views

    --PaginadoBolinha

    ---index.cshtml

    No Projeto_1 você mantém as suas views de lá e adiciona a pasta PaginadoBolinha, porém não adicione uma view

    Projeto_1

    -Views

    --Home

    --Account

    --PaginadoBolinha

    Na pasta PaginadoBolinha, clique com o botão direito e em Add Existing Item, vá até o Projeto_2/Views/PaginadoBolinha e selecione a(s) view(s), porém não clique em Add, clique na seta para baixo ao lado do add e nela selecione o Add as Link, isso criará um atalho para a view.

    PS. Nunca experimentei isso, vi isso em algum artigo.

    • Marcado como Resposta Fernando Sanches segunda-feira, 26 de novembro de 2012 10:24
    sábado, 24 de novembro de 2012 13:27
  • Crei que é possível, mas ele tentará encontrar a view na aplicação onde está sendo executado. Faça o seguinte:

    Na sua pasta de views crie uma extrutura similar a de onde está tentando chamar as views, por exemplo:

    Digamos que o seu projeto principal é chamado de Projeto_1 e o secundário de onde quer chamar as views é Projeto_2, vá no Projeto_1 e nas views crie uma estrutura de pastas igual a do Projeto_2:

    Projeto_2

    -Views

    --PaginadoBolinha

    ---index.cshtml

    No Projeto_1 você mantém as suas views de lá e adiciona a pasta PaginadoBolinha, porém não adicione uma view

    Projeto_1

    -Views

    --Home

    --Account

    --PaginadoBolinha

    Na pasta PaginadoBolinha, clique com o botão direito e em Add Existing Item, vá até o Projeto_2/Views/PaginadoBolinha e selecione a(s) view(s), porém não clique em Add, clique na seta para baixo ao lado do add e nela selecione o Add as Link, isso criará um atalho para a view.

    PS. Nunca experimentei isso, vi isso em algum artigo.

    Muito obrigado.

    Vou tentar assim que possível.

    segunda-feira, 26 de novembro de 2012 10:25
  • Olá Fernando.

    Poderia dizer se funcionou?

    Obrigado

    domingo, 9 de dezembro de 2012 02:11