Pergunta

A empresa onde trabalho criou este aplicativo que é fundamental para o nosso negócio e depende do navegador para fazer cumprir certas "regras" que sem elas tornam o aplicativo meio inútil para nossos clientes.Desculpe por ter que ser cauteloso, um NDA, juntamente com uma série de outras coisas, me impede de dizer exatamente o que é o aplicativo.Essencialmente, o JavaScript controla certos eventos cronometrados (que precisam ter precisão de pelo menos um segundo) que dificultam o controle com ajax/postbacks etc.

Minha pergunta é esta:quão difícil é converter um aplicativo ASP.NET em SilverLight, assumindo que a maior parte do código é realmente lógica de negócios C # e não controles asp.net?Acabei de ouvir Deep Fried bytes e o pessoal da MS fez parecer que isso realmente não é grande coisa.Isso é verdade para aplicativos da web ou principalmente para aplicativos Win32?

Eu sei que o front-end do asp.net é fundamentalmente diferente do SilverLight, mas há um monte de código C# que eu gostaria de não ter que reescrever, se necessário.Presumo que a substituição do código javascript pelo Silverlight seja trivial (conheço uma suposição errada, mas preciso começar de algum lugar), pois ele lida com eventos cronometrados, então não estou realmente preocupado com isso.Preciso encontrar uma solução sobre como mitigar esse problema e espero que este seja um meio-termo entre:não faça nada e veja-nos ser atacados por nossos clientes e reescreva todo o aplicativo em algo mais seguro do que uma página da web com apenas validação de front-end.Alguém já tentou converter o código ASP.NET em um projeto SilverLight?

Foi útil?

Solução

Se a maior parte do seu aplicativo estiver no back-end, você ainda poderá manter a maior parte do código intacta e substituir apenas o front-end.No entanto, o Silverlight requer uma compreensão do WPF, que é drasticamente diferente do HTML/JS que seu aplicativo usa atualmente.Eu diria que se sua interface do usuário for muito fina, deve ser muito fácil portar para o Silverlight, mas quanto mais lógica de negócios estiver na interface do usuário, mais difícil será.

Outras dicas

Quão intensamente você usa as bibliotecas de classes e coisas que podem ser consideradas 'perigosas', como pinvoke, acesso ao sistema de arquivos e System.Diagnostics.Process?

Portar código do ASP.NET para o Silverlight não é uma tarefa fácil.Como Nate aponta, depende de quanto do aplicativo ASP.NET é baseado em AJAX e quanto é baseado em controles de servidor.

Silverlight é uma tecnologia state full client side, o que significa que tudo está sendo executado no cliente dentro do navegador.ASP.NET é uma tecnologia de servidor construída em torno de um modelo de solicitação/resposta.Como esses dois são paradigmas completamente diferentes, não é uma versão direta.

No entanto, como o ASP.NET é apenas HTML e HTTP POST de dados de formulário, as pessoas fizeram experimentos em que adicionaram um aplicativo Silverlight diretamente no topo de uma página ASP.NET e criaram manualmente a solicitação HTTP POST, enviando manualmente de volta os dados exatos. o aplicativo ASP.NET funciona.É quase como fazer "screen scraping" para seu próprio aplicativo.Isso poderia funcionar, mas não seria o ideal.Você não obteria um aumento de desempenho, pois seu aplicativo ASP.NET teria que passar por um ciclo de página completo em cada solicitação.

Uma alternativa melhor é começar agrupando qualquer funcionalidade que o usuário tenha no aplicativo APS.NET como serviços da web.Você pode adicionar esses serviços junto com suas páginas ASPX e portar gradualmente o aplicativo.A IU que você construiria do zero com base nesses serviços.

Boa sorte!

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