Est-il possible de servir des pages HTML avec ServiceStack?
Je suis l'évaluation de ServiceStack pour une utilisation dans un Service Windows pour héberger des services REST. Jusqu'à présent, c'est excellent et le mode surpasse WCF. Sans parler de son beaucoup plus facile à utiliser.
Windows Services mentionnés ci-dessus doivent être en mesure de fournir une simple page HTML à servir comme un "tableau de bord". ServiceStack serait, bien entendu, être utilisé pour fournir des données json pour le tableau de bord, mais ce sujet de la signification de la page de tableau de bord, ainsi que des images et js? Serait-ce possible? Je préfère ne pas l'hôte complet ASP.Net et ont une limitation stricte qu'IIS ne sera jamais sur ces serveurs. L'évolutivité ne devrait pas être une exigence, puisqu'un seul admin de la machine serait jamais affichage du tableau de bord.
Vous devez vous connecter pour publier un commentaire.
En utilisant uniquement ServiceStack pour le web et de services web
ServiceStack du nouveau Rasoir Moteur d'Affichage
Une amélioration significative de ServiceStack HTML de l'histoire a été ajouté dans v3.9.11 dans le ServiceStack.Rasoir de package NuGet. Grâce à ce soutien, ServiceStack maintenant les diplômés d'un Site web et de Services Web dans un cadre qui offre un beaucoup plus simple de remplacement de la WCF, MVC et WebApi.
Complète de la documentation expliquant ServiceStack nouveau HTML histoire avec prise en charge de Rasoir est maintenue dans la Rasoir Rockstars site de démonstration:
Complet de la Documentation expliquant la prise en charge de Rasoir et décrivant ses Caractéristiques est expliqué dans les liens ci-dessus.
Juste un Service REST cadre avec Format HTML
Le code HTML Content-Type a été ajoutée à ServiceStack juste que vous attendez d'un vrai Service REST framework, c'est à dire que vous pouvez tout simplement ajouter de Rasoir points de Vue pour améliorer vos services existants qui ne servent lorsque le client demande pour le
text/html
Type de Contenu (n'ayant pas d'effet sur l'existant enregistré formats). E. g. cette /rockstars RESTE le service peut encore être accessibles dans tous les autres Types de Contenu:En outre, si vos services a la
[ClientCanSwapTemplates]
attribut, le client peut échanger les points de Vue et des Modèles de pages au moment de l'exécution, par exemple ici est le même au-dessus de page avec:ServiceStack naturelles de l'adoption du format HTML de cette façon, rend banal à développer 1 ensemble de services qui peuvent servir à la fois HTML et riche mobiles natives et les clients de bureau.
Autres façons de servir HTML
Avant la prise en charge de Rasoir a été ajouté il ya un couple de stratégies de servir des pages HTML avec ServiceStack:
Utiliser une page html statique avec des appels ajax
Si vous faites une demande web pour un fichier existant, il revient avec le Gestionnaire de Fichier Statique. Ensuite, vous pouvez simplement faire de l'ajax json appelle de nouveau à vos services web pour générer dynamiquement une page.
La TODO épine Dorsale de l'application dans le Service Windows AppHost Modèle De Démarrage fonctionne de cette façon. (ainsi que la plupart des autres exemples de projets dans ServiceStack 🙂
Retourner une chaîne
Tout chaîne retourné à partir de vos services web obtient directement écrites dans le flux de réponse "tel quel", de sorte que vous pouvez simplement retourner html à l'aide de votre propre code html template solution.
Voici une liste de autres types de retour dans ServiceStack et la façon dont ils sont traités.
Utilisant Markdown Rasoir
La vue-moteur intégré dans ServiceStack est Markdown Rasoir - Qui a été inspiré par la MVC du Rasoir, mais à l'aide de la syntaxe Markdown. C'est assez extensible soutien personnalisé de la classe de base et les méthodes d'extension/utils.
Une caractéristique intéressante de l'aide Démarque de Rasoir est votre même service web qui renvoie du json,xml, etc peuvent également être une vue de modèle pour la dynamique d'une page html générée à la même url.
Un exemple de ceci est le catégorie de service web de laquelle vous pouvez voir les résultats ici:
http://www.servicestack.net/docs/category/Framework
et le même service à nouveau dans JSON, XML, etc. Vous pouvez aussi récupérer le page html générée en partie (sans modèle) ainsi que la généré dynamiquement markdown.
La page a été créée à l'aide de web services DTO/modèle de vue qui a été envoyé à cette MarkdownRazor Vue
https://raw.github.com/ServiceStack/ServiceStack.Examples/master/src/Docs/Views/Category.md
Si vous avez spécifié un Abattement de Rasoir page de votre service web, il est utilisé par rapport à la valeur par défaut HTML5 JSON Rapport que vous voyez maintenant.
La résolution afin ServiceStack l'utilise pour résoudre le approprié Démarque du modèle à utiliser pour le rendu HTML de sortie est:
Hôte ServiceStack à un /custompath
ServiceStack peut être utilisé avec ou sans ASP.NET application web. Si votre demande est HTML-lourds et RESTE-Services-lumière une approche commune de l'est de l'hôte ServiceStack à un /custompath (par exemple, /api), de sorte que vous pouvez utiliser ASP.NET pour tous HTML de génération de la page.
Si vous utilisez ASP.NET MVC au lieu de cela, vous avez besoin d'ignorer le parcours en MVC Mondial.asax RegisterRoutes():