Если вы просто хотите узнать размер файлов в рабочей области, вы можете использовать приведенную ниже функцию, хотя общее использование ресурсов, вероятно, намного выше.
Рассчитать размер файла - полезно, но не близкок общему объему хранилища.
public static int DocumentFileSizeMB(string path)
{
var size = 0;
var results = ContentQuery.Query(SafeQueries.TypeInTree, null, "File", path);
if (results != null && results.Count > 0)
{
var longsize = results.Nodes.Sum(n => n.GetFullSize());
size = (int)(longsize / 1000000);
}
return size;
}
Чтобы получить лучшее представление о ресурсах дискового пространства, вызовите функцию SenseNet GetTreeSize()
на узле.Однако это не дает полного использования ресурсов из-за другого содержимого, связанного с вычислением размера узла, но не хранимого под узлом, такого как таблицы индекса, записи журнала и т. Д.
Лучший метод, но все еще не полное использование ресурса.
public static int NodeStorageSizeMB(string path)
{
var size = 0;
var node = Node.LoadNode(path);
if (node != null)
{
size = (int)(node.GetTreeSize() / 1000000); // Use 10**6 as Mega, not 1024*1024, which is "mebibyte".
}
return size;
}