Spfarm.Local oggetto memorizzato nella cache in SharePoint 2013
-
10-12-2019 - |
Domanda
Sto vivendo un problema dispari in cui l'oggetto SPFARM.Local non viene aggiornato per SharePoint 2013, ma lo fa per il 2010. Fondamentalmente ho qualche codice che aggiunge / distribuisce / aggiorna le soluzioni SharePoint in C #.Ho il thread attendere fino a quando la soluzione viene aggiunta e / o il processo di distribuzione è completo prima di continuare.
Questa è una versione semplificata del codice:
var complete = false;
while (!complete)
{
complete = SPFarm.Local.Solutions[“solutionName.wsp”] != null;
if (!complete)
Thread.Sleep(10000);
}
.
In SharePoint 2010, funziona perfettamente.Tuttavia, nel 2013 la soluzione sta continuamente restituendo nulla.Posso verificare che la soluzione esiste in una finestra di PowerShell separata con Get-Spsolution, ma non è aggiornato in questo thread.
Qualche idea su come ottenere SharePoint 2013 per aggiornare l'oggetto SPFARM.Local nel thread principale?
Soluzione
SP.Update()
should work after you add the solution to the farm.
var complete = false;
while (!complete)
{
complete = SPFarm.Local.Solutions[“solutionName.wsp”] != null;
if (!complete){
SPFarm.Local.Update();
Thread.Sleep(10000);
}
}