Quelles sont les solutions pour la persistance des données dans un service Web .NET?Persistance des données dans les services Web?
J'ai un webservice. Je donne un identifiant à mon webservice et celui-ci renvoie l'objet correct.
[OperationContract]
[WebInvoke(Method = "GET", UriTemplate = "/GetMyObject?id={id}", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
MyObject GetMyObject(string id);
Je ne veux pas utiliser une base de données. Je voudrais garder ma collection d'objets en "mémoire". J'ai donc décidé de créer un objet simple dans mon webservice comme celui-ci
public class Service : IService
{
List<MyObject> list = new List<MyObjec>();
public Service()
{
list.Add(new MyObject() { Id = 1, Data = ...});
list.Add(new MyObject() { Id = 2, Data = ...});
list.Add(new MyObject() { Id = 3, Data = ...});
list.Add(new MyObject() { Id = 4, Data = ...})
...
}
public MyObject GetMyObject(string id)
{
// code to get my object from the list
return myObject;
}
}
Il fonctionne, mais le constructeur est appelé chaque fois que j'appelle mon webservice et je voudrais initialiser cette liste une fois et appliquer la modification à ce sujet plus tard. Comment dois-je initialiser ma liste et persiste-t-il?
En ce moment je ne me soucie pas de la concurence mais oui dans une solution finale je vais devoir utiliser autre chose qu'une liste. –
Je ne suis pas sûr de la définition de la persistance des données dans les services Web. Souhaitez-vous que les données soient persistantes si vous deviez redémarrer le service et le serveur, en effaçant toute la mémoire? –