Steve Sanderson a fait une présentation très intéressante lors des Techdays 2012 aux Pays-Bas. Dans l'un d'eux il a présenté une bibliothèque qu'il a utilisée pour la communication client-serveur dans l'application MVC: Upshot.
J'étais vraiment étonné de la facilité d'utilisation, alors je voulais le télécharger et le tester. J'ai trouvé le lien de téléchargement ici via NuGet , mais je ne trouve aucune documentation. Quelqu'un at-il quelque chose qui fonctionne? J'apprécierais également l'exemple de code que Steve a montré lors de la présentation.
MODIFIER:
J'ai trouvé la présentation en ligne à laquelle j'ai assisté aux Techdays. Ça vaut tellement la peine d'être vu. Vous aurez un aperçu de ce dont le résultat est capable et vous aurez également une idée de la façon de commencer. Bonne chance et amusez-vous bien.
Le lien: http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159
J'en ai trouvé un qui est l'un des exemples MS pour les SPA (qui pourrait être le seul pour l'instant):
BigShelf ASP.NET Single Page Application (SPA)
Le tutoriel complet sur ce projet peut être trouvé ici: BigShelf
Modifier:
Voir ce Tweet de Steve Sanderson: https://Twitter.com/#!/stevensanderson/status/171561402597773312
Nous mettons actuellement en place un site Web pour Upshot/SPA. J'espère qu'elle sera mise en ligne cette semaine! Désolé pour le retard.
Edit: voir le blog de Steven ici avec un exemple de code de téléchargement: http://blog.stevensanderson.com/2012/03/06/single-page-application-packages -et-samples /
Je ne sais pas non plus comment accéder à l'aide, j'aimerais savoir pour que je puisse jouer avec :-)
Cela semble faire l'affaire pour l'instant:
<script src="../../Scripts/knockout-2.0.0.js" type="text/javascript"></script>
<script src="../../Scripts/upshot.js" type="text/javascript"></script>
<script src="../../Scripts/upshot.compat.knockout.js" type="text/javascript"></script>
<script type="text/javascript">
upshot.metadata({ "CLASSNAME:#NAMESPACE":{ "key": ["aId"],
"fields": {
"aId": { "type": "Int32:#System" },
"Title": { "type": "String:#System" },
"Description": { "type": "String:#System" },
"Effort": { "type": "Double:#System" }
}
}
});
var myDataSource = new upshot.RemoteDataSource({
providerParameters: {
url: "http://localhost:7018/api/CONTROLLERNAME",
operationName: "",
operationParameters: {}
},
entityType: "CLASSNAME:#NAMESPACE"
});
myDataSource.refresh(function (results) {
alert(results[0].Title());
});
</script>
Vous devez remplacer CLASSNAME: #NAMESPACE par votre nom de classe et votre espace de noms, par exemple: "WorkItem: # MySystem.Models".
Et remplacez CONTROLLERNAME par le nom réel du contrôleur, dans le cas de cette
public class MyTasksController : ApiController
vous devrez remplacer CONTROLLERNAME par MyTasks
Et remplissez le contenu des métadonnées en fonction des objets de votre modèle. J'espère que les exemples de code seront bientôt en ligne, car cela représente beaucoup de travail :-(
En regardant l'exemple BigShelf, voici quelques packages supplémentaires disponibles que vous pouvez utiliser.
Je ne les ai pas encore essayés moi-même, mais jetez un œil à:
http://nuget.org/packages/Upshot
http://nuget.org/packages/SinglePageApplication
Je pense que le package SPA contient les méthodes d'extension d'assistance Upshot et Metadata html