Pergunta

Eu estou procurando um quadro que me permite gerir a minha aplicação através de um webbased GUI (usando um servidor web embutido) em vez de winforms.

Algo como isto: http://www.webtoolkit.eu/wt mas depois para. NET

No meu código eu deveria ser capaz de aulas instanciar (como botões, formas, etc), e quando um usuário navega até uma determinada porta, o aplicativo deve torná-lo como javascript / ajax etc etc. de preferência, quando os botões são empurrados, uma notificação no meu código deve ser chamado.

este é um menor questão específica que outro eu postei sobre extjs. Espero que isso irá atrair mais espectadores, uma vez que é mais genérico

Graças.


Update:

Cassini como soluções não caber a conta. Desde o webbrowser é incorporado na minha candidatura, não há necessidade de scripts do lado do servidor ASP.NET. Eu preferiria ter o quadro, chamar funções dentro da minha aplicação quando as coisas acontecem na página. onButtonClicked (), por exemplo.

Foi útil?

Solução

Como sobre a incorporação Cassinni e usando ASP.NET?

Outras dicas

Você pode usar o classe System.Net.HttpListener como um servidor web embutido. O HttpListener vai fazer as coisas de baixo nível para você, mas você terá que escrever o código que retorna o HTML / JavaScript / imagens si mesmo.

Eu tentei sair apenas para se divertir-me, a incorporação firefox usando GeckoFx contra um web servidor embutido no próprio aplicativo. Pareceu funcionar bem, mas o meu teste foi muito simples e limitado.

Você pode hospedar o tempo de execução ASP.NET em seu próprio aplicativo e usar qualquer framework de interface do usuário da web como LiveUI ou algo assim. Veja como fazer isso aqui .

Se você poderia usar ASP.NET (usando servidor de desenvolvimento ou Cassini), em seguida, sua tarefa seria mais simples. Eu recomendo fortemente que esta abordagem. Neste caso, você poderia usar liveui, ComponentArt ou teleric. liveui fornece estrutura baseada Extjs para implementar aplicações web 3-camadas. ComponentArt e teleric fornecer controles agradáveis ??ASP.NET.

Considerando webui provavelmente pode trabalhar como httpHandler sem infra-estrutura ASP.net. Mas eu não recomendaria a utilização webui porque 1 possíveis problemas de desempenho 2 complexo e não modelo de programação flexível.

Você está limitado ao que quadro sua aplicação pode suportar? Se você pode usar .NET 3.0+, O Windows Presentation Foundation lata ser utilizados para direccionar ambos web (via xbapp ou silverlight) e aplicações de formulário janelas tradicionais.

No que diz respeito a comunicação entre aplicativos vai, este é o lugar onde o o Windows Communication Foundation (WCF) realmente brilha.

Só para esclarecer, você poderia usar anfitrião Casini seu aplicativo web e usar o WCF para se comunicar entre ele e sua aplicação ou uso XAML para marcar sua aplicação e expô-lo tanto como uma aplicação web e um aplicativo normal do Windows com a mesma UI.

Se você deseja converter automagicamente executar código WinForms para HTML, você já está em águas profundas. Eu tenho feito algo semelhante com Visual WebGui , mas requer modificar seu código e, basicamente, gerar um ASP. NET para você - a necessidade de um servidor web real para executá-lo

.

Eu vejo você não gosta a opção Cassini - se você também esperar que isso funcione sem um servidor web, então eu acho que a resposta rápida é "nenhuma maneira"

.

Se você tem uma interface relativamente simples, acho que sua melhor aposta é provavelmente para gerar o código HTML de forma dinâmica, quer a partir de suas formas existentes ou a partir do zero, e ir com System.Net.HttpListener.

eu fiz há muito tempo, um projeto .NET 2.0 que basicamente tinha um Webbrowser controle.
Eu daria para alimentar o controle WebBrowser com html através de suas propriedades de documentos, e iria ouvir o evento navegação, a fim de pegar o código HTML do meu recurso (ou construí-lo instantaneamente) e alimentá-lo novamente para o controle WebBrowser.

Agora, a diversão começa com a ObjectForScripting propriedade . Isso permite que sua página html para falar com um objeto .NET através de JavaScript como:. window.external.SomeNetFunction(bla)
Não se esqueça de adicionar o atributo ComVisible para a classe que é usado em ObjectForScripting.

Espero que isso é o que você está procurando. Nesta solução você tem uma página web que pode navegar, e também via javascript pode falar com seu aplicativo. (Como este que você pode chegar perto de uma versão .NET da AIR ...)

DevExpress tem um produto que faz o que você precisa. Você vai ter que desembolsar para se embora ...

http://www.devexpress.com/Products/NET/Application_Framework/

Eu sugeriria ir a rota Linux vez e confiar em algo como um httpd, boa, ou similar para manter o tamanho para baixo incorporado. Executando o Windows não é recomendado em sistemas embarcados, muito inchaço e muitas falhas de segurança. Melhor ir com Linux ou um RTOS.

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