Pregunta

Estoy construyendo una solución de sandbox de SharePoint que consta de múltiples piezas web. Quiero poder de alguna manera los objetos POCO de caché (objetos CLR antiguos simples) de tal manera que el caché persiste en las solicitudes de página completa y el caché también funciona en SharePoint en línea.

He visto los siguientes mecanismos:

  • Guardar archivos en el sistema de archivos o en almacenamiento aislado: no funciona porque el espacio de nombres System.io parece estar bloqueado en Sandbox Solutions.
  • Usando la infraestructura ASP.NET Cache/Session/Application: no funciona, el caché se restablece cada vez que se realiza una nueva solicitud de página.
  • Utilizando el Microsoft.Office.Server.ObjectCache.SPCache Infraestructura: no parece funcionar, el caché se restablece de la misma manera que con ASP.NET Cache.
  • Uso de un caché en memoria codificado: (private static Dictionary<string, object> ...) - No funciona, la instancia del diccionario se pierde en las solicitudes de la página HTTP.

¿Todo lo anterior significa que mi única opción de almacenar cualquier tipo de datos en SharePoint Sandbox Solutions es usar listas de SharePoint/Lists-items?

¿Fue útil?

Solución

Sí, las listas de SharePoint son su única opción en este caso.

Cada solicitud es organizada de ASP.net/Sharepoint a un proceso de sandbox específico. No se garantiza que estos procesos y aplicaciones no sean los mismos o incluso en la misma máquina, por lo que cualquier tipo de caché en la memoria está fuera de cuestión.

Otros consejos

En lugar de crear tarjetas web, puede crear aplicaciones Silverlight que no generen una posterior.

Por otra parte, las aplicaciones de Silverlight son limitadas debido al modelo de objeto del lado del cliente.

Licenciado bajo: CC-BY-SA con atribución
scroll top