in

didierdanse.net

Site personnel de Didier Danse
Didier Danse's Personnal Website
Microsoft Most Valuable Professional SharePoint

didierdanse.net - Les news Developpement

November 2008 - Posts

  • SharePoint: des uploads lents avec IE6? Pourquoi?

    Alors que l'envoi de fichier via WebDAV (c'est-à-dire à l'aide de la vue Explorateur) se passe efficacement, l'envoi de fichiers via l'interface web dans SharePoint s'avère très lent?

    Si vous disposez d'Internet Explorer 6 sur les pcs depuis lesquels l'upload est lent, ne cherchez plus le pourquoi! Si ce n'est pas le cas, il s'agit juste d'une piste à suivre.

    La cause est simple: Internet Explorer 6 utilise une clé de registre qui indique la taille du buffer à utiliser pour l'envoi des fichiers. La taille par défaut pose problème dès lors que vous faites l'upload d'un fichier de plus de 2Mo. Après quelques secondes, l'upload semble s'arrêter (et pour preuve, vous pouvez monitorer la charge réseau au travers de l'information "Total Bytes/sec") et un timeout intervient dès lors.

    Internet Explorer 7 ne souffre pas de ce paramètre puisque la valeur de la clé s'est vue modifiée.

    Vous trouverez la procédure pour mettre à jour le paramètre: http://support.microsoft.com/kb/329781/en-us

  • SharePoint: Récupérer la taille d'un Item

    On fera le calcul en utilisant deux fonctions:

    • GetAttachmentsTotalSize: renvoie la taille totale occupée par les fichiers attachés à l'item;
    • GetItemSize: renvoie la taille total des fichiers attachés à laquelle on y ajoute la taille du contenu inclus dans les différents champs.

    GetAttachmentsTotalSize

        Public Function GetAttachmentsTotalSize(ByVal item as SPListItem) As Integer
            Dim size As Integer = 0
    
            For Each filename As String In item.Attachments
                Dim file As String = item.Web.GetFileAsString( _ 
                    item.Attachments.UrlPrefix + filename)
                size = size + file.Length
            Next
    
            Return size
        End Function

    GetItemSize

        Public Function GetItemSize(ByVal item as SPListItem) As Integer
            Dim size As Integer = GetAttachmentsTotalSize()
    
            For Each field As SPField In item.Fields
                If Not (item(field.Id) Is Nothing) Then
                    size = size + item(field.Id).ToString().Length
                End If
    
            Next
    
            Return size
        End Function

    Bon calcul!

More Posts
L'auteur du site ne peut être tenu responsable des dommages que les informations fournies pourraient entraîner. Tout est cependant mis en oeuvre pour éviter tout désagrément.
Powered by Community Server (Non-Commercial Edition), by Telligent Systems