Qu'est-ce que .NET 4.0 fournit la technologie solution en vol modulaire Service (hotswap) REST hébergement?

StackOverflow https://stackoverflow.com/questions/4626571

Question

Alors, c'est un rêve de plusieurs années, mais l'espoir jaillit éternel. Y at-il un cadre / services (WCF / WAS / MVC / ETC) qui vous permet d'ajouter / services de mise à jour avec un impact minimal sur les demandes en cours ou services « frères et sœurs ».

Le rêve ressemble à quelque chose comme ceci:

  • IIS7

    • Pluggable REST Hôte de service

      • Les ressources partagées (référentiels, qa)

      • Service A - Lâché dans le dossier de la production, fournit de nouvelles méthodes REST

      • Service B - Mise à jour "en vol" pour corriger un bug, un minimum d'interruption des demandes

Je pense que la réponse pourrait impliquer ÉTAIT ou peut-être AppFabric (le rêve est pas prudent), mais depuis que je ne l'ai jamais réussi à trouver un moyen facile de le faire fonctionner, je me réjouis de vos commentaires sur la façon de réaliser au mieux ce que je pense nos camarades PHP juste "faire".

Était-ce utile?

La solution

+ MEF'autonome WCF avec WebHttpBinding. Ou avec HttpListener MEF. La nouvelle pile WCF Http http://wcf.codeplex.com fera autant plus facile à l'avenir

Autres conseils

Ce n'est pas vraiment une question REST -. Il est une question de serveur HTTP

Dans le passé, ce que je l'ai fait est de déployer une nouvelle version d'une application vers un nouvel emplacement sur le serveur, en utilisant peut-être une URL interne uniquement visible. Je puis simplement ai changé les propriétés IIS pour pointer vers la nouvelle URL.

Ceci est une question étrange. Tout d'abord, nous sommes dans le monde .NET où les ensembles sont compilés - ce qui a grand impact sur d'autres choses

.

Donc, fondamentalement, oui vous pouvez faire ce que vous voulez si vous commencez la programmation comme les programmeurs PHP. Ouvrez votre fichier .svc et écrire tout votre service directement à ce fichier. Ceci est également connu sous le nom de codage en ligne. Vous pourrez utiliser les types d'ensembles déployés pour GAC et Bin de votre site. Simplement copier le fichier .svc dans votre répertoire d'applications Web rendra votre service disponible. La modification sera également facile. Vous devez utiliser 4.0 .NET et vous aurez pas besoin de changement de configuration lors de « déploiement » nouveau service.

Edit:

D'après les commentaires que je ajoute une explication futher.

IIS et tout dépendant de IIS (WAS, AppFabric) toujours recycler le domaine lors de nouvel ensemble est ajouté. Je pense que la raison est directement dans le noyau .NET - AppDomain. Le chargement et le déchargement des assemblages de façon dynamique nécessite nouveau domaine.

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