Question

Je suis à la recherche d'un cadre qui me permet de gérer mon application via une interface graphique basée sur le Web (en utilisant un serveur web embarqué) au lieu de WinForms.

Quelque chose comme ceci: http://www.webtoolkit.eu/wt mais pour. NET

Dans mon code, je devrais pouvoir instancier des classes (comme les boutons, formes, etc.), et lorsqu'un utilisateur accède à un port donné, l'application devrait le rendre comme javascript / ajax, etc etc De préférence, lorsque les boutons sont poussés, une notification dans mon code doit être appelé.

est une question moins spécifique qu'un autre j'ai posté sur ExtJS. J'espère que cela attirera plus de téléspectateurs, car il est plus générique

Merci.


Mise à jour:

cassini comme les solutions ne correspondent pas à ce projet de loi. Étant donné que le navigateur Web est intégré dans ma demande, il n'y a pas besoin de scripts côté serveur ASP.NET. Je préférerais avoir le cadre, appeler des fonctions à l'intérieur de mon application quand les choses se passent sur la page. onButtonClicked () par exemple.

Était-ce utile?

La solution

Comment sur l'intégration Cassinni et en utilisant ASP.NET?

Autres conseils

Vous pouvez utiliser la classe System.Net.HttpListener comme un serveur Web intégré. Le HttpListener fera les choses de bas niveau pour vous, mais vous devrez écrire le code qui renvoie le code html / javascript / images vous-même.

Je l'ai essayé sur moi-même juste pour le plaisir, l'intégration de Firefox en utilisant GeckoFx contre une web serveur embarqué dans l'application elle-même. Il semblait bien fonctionner, mais mon test était très simple et limité.

Vous pouvez héberger le runtime ASP.NET dans votre propre application et utiliser un cadre de l'interface utilisateur Web comme LiveUI ou quelque chose comme ça. Voir comment faire .

Si vous pouvez utiliser ASP.NET (en utilisant le serveur de développement ou cassini), votre tâche serait plus simple. Je recommande vivement cette approche. Dans ce cas, vous pouvez utiliser liveui, ComponentArt ou teleric. liveui fournit un cadre à base Extjs pour mettre en œuvre des applications Web 3 niveaux. ComponentArt et teleric fournir des contrôles de ASP.net agréables.

Alors que webui probablement peut fonctionner comme HTTPHandler sans infrastructure ASP.net. Mais je recommande de ne pas utiliser webui car 1 problèmes potentiels de performance 2 modèle de programmation complexe et flexible.

Êtes-vous limité à quel cadre votre application peut prendre en charge? Si vous pouvez utiliser .NET 3.0+, Windows Presentation Foundation peut être utilisé pour cibler à la fois web (via xbapp ou silverlight) et les applications de forme de fenêtres traditionnelles.

En ce qui concerne la communication entre les applications va, c'est là Windows Communication Foundation (WCF) brille vraiment.

Juste pour clarifier, vous pouvez utiliser Casini héberger votre application Web et d'utiliser le Fonds de roulement pour communiquer entre lui et votre application, ou utiliser XAML pour baliser votre application et l'exposer à la fois comme une application Web et une fenêtre normale application avec le même interface utilisateur.

Si vous voulez convertir automagiquement d'exécuter du code HTML WinForms, vous êtes déjà dans l'eau profonde. Je l'ai fait quelque chose de similaire avec Visual WebGui, mais il ne nécessite de modifier votre code et sera essentiellement générer un ASP. l'application NET pour vous -. besoin d'un serveur Web réel pour l'exécuter

Je vois que vous ne voulez pas l'option Cassini -. Si vous vous attendez aussi que cela fonctionne sans un serveur web, alors je pense que la réponse rapide est « aucune manière »

Si vous avez une interface relativement simple, je pense que votre meilleur pari est probablement pour générer le code HTML dynamiquement, soit à partir de vos formulaires existants ou à partir de zéro, et aller avec System.Net.HttpListener.

Je l'ai fait depuis longtemps, un projet .NET 2.0 qui avait essentiellement un contrôle Webbrowser.
J'alimenterait le contrôle WebBrowser avec html par ses propriétés de documents, et je écouter l'événement navigate, afin de saisir la Html de ma ressource (ou de construire instantanément) et l'alimenter à nouveau le contrôle WebBrowser.

Maintenant, le plaisir commence par le ObjectForScripting la propriété . Cela permet à votre page html pour parler à un objet .NET par Javascript comme:. window.external.SomeNetFunction(bla)
Ne pas oublier d'ajouter l'attribut ComVisible à la classe qui est utilisée dans ObjectForScripting.

J'espère que c'est ce que vous recherchez. Dans cette solution, vous avez une page Web qui peut naviguer, et aussi via javascript pouvez parler avec votre application. (Comme cela, vous pouvez venir à proximité d'une version .NET d'AIR ...)

DevExpress ont un produit qui fait ce que vous avez besoin. Vous aurez à débourser pour cela, bien ...

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

Je suggère d'aller à la place la route Linux et compter sur quelque chose comme un httpd embarqué, boa ou similaire à garder la taille vers le bas. Exécution de Windows n'est pas recommandé sur les systèmes embarqués, trop ballonnement et trop de trous de sécurité. Mieux vaut aller avec Linux ou un RTOS.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top