Quel type utiliser pour un ensemble de fichiers ?

Le
Gilbert Tordeur
Bonjour.

Une méthode de mon web service doit pouvoir recevoir un nombre quelconque de
fichiers en paramètre : leurs noms, leurs types et leurs contenus.

Dans la définition de la méthode, j'écris donc :

<WebMethod()> _
Public Function F( _
nomFichier() As String _
, typeFichier() As String _
, contenuFichier ??? ) as String

Mon premier paramètre est un tableau de chaînes; pas de souci.
Mon deuxième paramètre est un tableau de chaînes; pas de souci.

Mon troisième paramètre me pose problème : c'est un tableau de tableaux de
bytes. Sans doute pourrais-je écrire
contenuFichier(,) as Byte
, mais c'est atroce question performance ! Si j'ai par exemple trois
fichiers de respectivement 10 Ko, 20 Ko et 1.000 Ko, cela me demandera un
ReDim contenuFichier(2, 1000000)
et donc enverra 3.000 Ko sur le WAN pour un besoin réel de 1.030 Ko !

Quelle solution plus efficace pourriez-vous proposer ?

Attention : certains types .NET ne sont pas disponibles pour la
communication avec un web service.

Merci d'avance,
Gilbert
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jérémy Jeanson
Le #20819921
Bonjour Gilbert,

Si tu fais un tableau à deux démentions, là oui effectivement ça va être
plus groumant. Par contre la notion de tableaux de tableaux ne devrait p as
pose de soucis.

--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Jérémy Jeanson
Le #20820151
Oups pardon j'ai écris avec mes pieds...

Donc en français cela donne :

Si tu fais un tableau à deux dimensions, là oui effectivement ça v a être
plus gourmand. Par contre la notion de tableaux de tableaux ne devrait p as
pose de soucis.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Jérémy Jeanson
Le #20823531
Bonjour Gilbert,

Pour répondre à ta question de syntaxe par mail je poste aussi la ré ponse
ici car ça peut servir à d'autres.

Cela s'écrit par exemple comme ceci :

' Création du tableau
Dim t As Byte()()

' initialisation à vide
t = New Byte(1)() {}

' Ajout de 2 tableaux de tailles différentes
liste(0) = New Byte() {1, 3, 2, 4, 7}
liste(1) = New Byte() {0, 9, 3, 4, 6, 0, 9, 8, 8, 6, 7, 6}

--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Publicité
Poster une réponse
Anonyme