de la propiedad SPFile.Properties
Obtiene los metadatos para el archivo.
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
Public ReadOnly Property Properties As Hashtable
Get
'Uso
Dim instance As SPFile
Dim value As Hashtable
value = instance.Properties
public Hashtable Properties { get; }
Valor de propiedad
Tipo: System.Collections.Hashtable
Un objeto System.Collections.Hashtable que contiene los metadatos.
Comentarios
Nota
Almacenar grandes cantidades de datos en esta propiedad en serio afectará negativamente al rendimiento. No almacene más de un kilobyte (1 KB) de datos de usuario en esta propiedad.
El modelo de objetos de Windows SharePoint Services 3.0 admite la actualización de metadatos de archivo. Puede utilizar un indizador en esta propiedad para establecer un valor. Por ejemplo, para establecer el valor de la propiedad MyDate para un archivo determinado en la fecha y hora actuales, utilice el indizador y llame al método de Update , como se indica a continuación:
de Visual Basic
oFile("MyDate") = DateTime.Now
oFile.Update()
[C#]
oFile["MyDate"] = DateTime.Now;
oFile.Update();
Ejemplos
En el ejemplo de código siguiente se recorre la colección de archivos en una biblioteca de documentos y muestra las propiedades y valores para cada archivo.
En este ejemplo se requieren using directivas (Imports en Visual Basic) para los espacios de nombres Microsoft.SharePoint y Microsoft.SharePoint.Utilities .
Dim siteCollection As SPSite = SPContext.Current.Site
Dim site As SPWeb = siteCollection.AllWebs("Site_Name")
Dim folder As SPFolder = site.Folders("Shared Documents")
Dim files As SPFileCollection = folder.Files
Dim file As SPFile
For Each file In files
Dim hash As System.Collections.Hashtable = file.Properties
Dim keys As System.Collections.ICollection = hash.Keys
Dim key As Object
For Each key In keys
Response.Write(SPEncode.HtmlEncode(key.ToString())
& " :: " & SPEncode.HtmlEncode(hash(key.ToString())
.ToString()) & "<BR>")
Next key
Next file
SPSite oSiteCollection = SPContext.Current.Site;
using(SPWeb oWebsite = oSiteCollection.AllWebs["Site_Name"])
{
SPFolder oFolder = oWebsite.Folders["Shared Documents"];
SPFileCollection collFiles = folder.Files;
foreach (SPFile oFile in collFiles)
{
System.Collections.Hashtable collHashes = file.Properties;
System.Collections.ICollection collKeys = hash.Keys;
foreach (object oKey in collKeys)
{
Response.Write(SPEncode.HtmlEncode(oKey.ToString())
+ " :: " +
SPEncode.HtmlEncode(hash[oKey.ToString()].ToString())
+ "<BR>");
}
}
}
El ejemplo anterior muestra metadatos similar al siguiente:
vti_author :: User_Name
vti_cachedtitle :: New Page 1
vti_metatags :: HTTP-EQUIV=Content-Language en-us GENERATOR Microsoft\
FrontPage\ 5.0 ProgId FrontPage.Editor.Document
HTTP-EQUIV=Content-Type text/html;\ charset=windows-1252
vti_progid :: FrontPage.Editor.Document
vti_cachedbodystyle ::
vti_modifiedby :: User_Name
vti_charset :: windows-1252
vti_sourcecontrolcheckincomment :: Comment
vti_nexttolasttimemodified :: 5/6/2003 8:16:58 PM
vti_filesize :: 6439
vti_docstoretype :: 0
vti_language :: en-us
vti_generator :: Microsoft FrontPage 5.0
vti_timelastmodified :: 5/6/2003 8:59:25 PM
vti_title :: File_Title
vti_docstoreversion :: 2
vti_sourcecontrolcookie :: fp_internal
vti_sourcecontrolversion :: V2
vti_cachedneedsrewrite :: false
vti_timecreated :: 5/6/2003 8:16:58 PM
vti_cachedcustomprops :: vti_title
vti_cachedhastheme :: false
Nota
Determinados objetos implementan la interfaz de IDisposable y, a continuación, se debe evitar la conservación de estos objetos en la memoria que ya no se necesitan. Para obtener información acerca de buenas prácticas de codificación, vea Disposing Objects.