IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Différence entre HttpWebRequest et Inet (VB6)


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de roshy
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 107
    Par défaut Différence entre HttpWebRequest et Inet (VB6)
    Bonjour ^_^

    Je dois migrer un logiciel de VB6 à .Net.

    Pour l'envoit de fichier, l'ancien logiciel utilisait INET
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     Inet.Protocol = icHTTPS
     Inet.RequestTimeout = 10
     Inet.URL = GlobURL
     Inet.AccessType = icDirect
     Inet.UserName = varUser
     Inet.Password = varPass
     Inet.OpenURL Inet.URL
     
     Do
      DoEvents
     Loop While Inet.StillExecuting
     
     Print #55, "Post"
     Inet.Execute Inet.URL, "POST", GlobData
     Do
      DoEvents
     Loop While Inet.StillExecuting
    J'ai convertit ce code ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     encoding = New UTF8Encoding()
                bytes = encoding.GetBytes(data)
     
                request = DirectCast(WebRequest.Create("https://www.monurl.com/"), HttpWebRequest)
     
                ' Set the header fields.
                request.Method = "POST"
                request.ContentType = "text/xml; charset=UTF-8"
                request.ContentLength = bytes.Length
                request.UserAgent = "SWX"
     
                request.Timeout = System.Threading.Timeout.Infinite
     
                ' Need to set certificate policy to allow HTTPS communication
                ServicePointManager.ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AddressOf CertValidationCallback)
     
                ' Post the data
                newStream = request.GetRequestStream()
                newStream.WriteTimeout = System.Threading.Timeout.Infinite
                newStream.Write(bytes, 0, bytes.Length)
                newStream.Close()
    Tout va bien jusqu'à ce que j'arrive avec un gros fichier. Si le fichier est trop gros, je reçoit une erreur :
    Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host
    J'ai aussi ajouter cela dans mon app.config

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <system.serviceModel>
        <bindings>
          <basicHttpBinding>
            <binding name="HttpStreaming" maxReceivedMessageSize="67108864" maxBufferSize="67108864" maxBufferPoolSize="67108864"
                     transferMode="Streamed"/>
          </basicHttpBinding>
        </bindings>
        </system.serviceModel>
    Malheureusement j'ai toujours le même problème. J'ai commencer à me demander si ce n'est pas le client qui n'accepte pas ma grosseur de fichier, mais comme cela fonctionnait avec INET, je dois écarter cette possibilité.

    Quelqu'un aurait-il une idée de la prochaine avenue à explorer?

    Merci ^_^

  2. #2
    Membre confirmé Avatar de roshy
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 107
    Par défaut
    Finalement je me suis fait un Dll en vb6 pour pouvoir utiliser Inet.

    Ce n,est peut-être pas la solution la plus élégante, mais elle fonctionne bien ^-^

    Merci de votre temps.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Différence entre VB6 et VBExpress ?
    Par codon21 dans le forum VB.NET
    Réponses: 3
    Dernier message: 26/01/2010, 09h26
  2. Réponses: 1
    Dernier message: 11/12/2008, 10h42
  3. différence entre vb6 et dephi
    Par anissabouagina dans le forum Bases de données
    Réponses: 1
    Dernier message: 30/07/2007, 14h17
  4. Quelle est la différence entre vb6, vb 2005 ?.
    Par dahmane2007 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 01/02/2007, 21h44
  5. différence entre vb6 et vb .net
    Par trefles dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 31/12/2005, 09h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo