2009-09-02 11 views
2

J'ai eu une pensée folle aujourd'hui. J'ai découvert que mes utilisateurs apprécient davantage mes interfaces Web que mes interfaces utilisateur WinForms ... mais il y a de bonnes raisons d'écrire encore une application 'client intelligent'. Est-ce que je peux écrire mon interface utilisateur d'application dans ASP.NET/MVC, l'héberger dans mon client exe et y accéder localement en utilisant le contrôle IE dans mon application winforms?Hébergement ASP.NET au sein de mon application

Existe-t-il un serveur léger asp.net que je peux héberger en cours de traitement ou en mode fork off? Quelqu'un at-il essayé cela? Les résultats ont-ils été flatteurs?

+1

Il n'y a vraiment pas raison pour laquelle les utilisateurs préfèrent une interface Web à une interface utilisateur WinForms, car il n'y a rien que vous pouvez faire avec HTML que vous ne pouvez pas avec WinForms. En fait, il y a beaucoup de choses que vous pouvez faire avec WinForms UI que vous ne pouvez pas faire avec HTML, et obtenir un peu d'aide d'un concepteur d'interface utilisateur professionnel peut aller beaucoup plus loin que le déploiement de serveur web local et hébergement IE ActiveX. –

+0

Franci, bien que ce que vous dites est strictement vrai, j'ai du mal à croire que vous pouvez écrire une interface qui redistribue et redimensionne avec différentes tailles de fenêtres et préférences de polices aussi facilement que possible en HTML. Le moteur de mise en page ne supporte tout simplement pas de telles choses. Tous les problèmes ne sont pas un clou. – JoshRivers

+0

Franci, quand vous dites qu'il n'y a aucune raison de préférer Web à WinForms, vous devez réaliser que cette préférence ne doit pas être basée sur la logique ou les fonctionnalités. Cela peut aussi être basé sur des intangibles. Il pourrait leur être plus familier, ou plus simple, ou l'un des mille raisons qui n'ont rien à voir avec la fonctionnalité. –

Répondre

1

Oui, réponse courte: obtenir la source Cassini et il vous montre comment héberger le serveur Web.

J'ai utilisé cette technique pour héberger des services Web (* .asmx). Lorsque l'application est en ligne, elle peut se connecter à Internet et y utiliser un service Web. Lorsqu'il est hors ligne, il utilise "localhost" pour se connecter à son instance locale du service Web. De cette façon, vous avez seulement besoin d'écrire une couche d'accès aux données.

1

Je pense que la pensée sauvage est un euphémisme), je vous conseille vivement de considérer s'il n'y a pas quelque chose vous manque, s'il n'y a pas une meilleure solution, mais ici, il va ...

Il est un serveur si léger. Il est également utilisé par Visual Studio pour les développeurs. Il a été appelé Cassini qui utilise System.Web.Hosting (une API de bas niveau pour créer un serveur http et qui héberge le processus de asp.net)

+0

Vous savez, vous avez raison, je ne sais pas J'ai besoin du moteur ASP.NET pour atteindre mes objectifs.Il vaudrait mieux donner le html et javascript statiques au contrôle IE, puis utiliser ajax dans la page statique pour communiquer soit avec un service WCF ou directement par http/js interop http: //stackoverflow.com/questions/305915 http://www.west-wind.com/WebLog/posts/493536.aspx – JoshRivers

Questions connexes