Question

Je construis une solution de bac à sable SharePoint qui se compose de plusieurs parties Web. Je veux être en mesure d'en quelque sorte cache des objets POCO (Plain Old CLR Objects) de telle sorte que le cache est conservée dans les demandes de pleine page et les travaux de cache dans SharePoint en ligne.

J'ai examiné les mécanismes suivants:

  • Enregistrement de fichiers sur le système de fichiers ou dans le stockage isolé -. Ne fonctionne pas parce que l'espace de noms System.IO semble être bloqué dans les solutions de bac à sable
  • Utilisation de l'infrastructure ASP.NET Cache / session / Application -. Ne fonctionne pas, le cache est remis à zéro chaque fois qu'une nouvelle demande de page est faite
  • Utilisation de l'infrastructure Microsoft.Office.Server.ObjectCache.SPCache -. Ne semble pas fonctionner, le cache est remis à zéro de la même manière que le cache ASP.NET
  • à l'aide d'un cache handcoded en mémoire:. (private static Dictionary<string, object> ...) - ne fonctionne pas, l'instance dictionnaire est perdu dans http demandes de page

Est-ce que tout ce qui précède signifient que ma seule option de stocker tout type de données dans des solutions SharePoint sandbox est d'utiliser des listes Sharepoint / list-éléments?

Était-ce utile?

La solution

Oui, les listes SharePoint sont votre seule option dans ce cas.

Chaque demande est formé, de l'ASP.NET/SharePoint à un processus Sandbox spécifique. Ces processus et AppDomains ne sont pas garantis d'être le même ou même sur la même machine, de sorte que toute sorte de cache en mémoire est hors de question.

Autres conseils

Au lieu de créer webparts, vous pouvez créer des applications Silverlight qui ne génèrent pas Postback.

Ensuite, à nouveau, les applications Silverlight sont limitées en raison du modèle objet côté client.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top