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

Windows Communication Foundation .NET Discussion :

Changer le readerquota via le code


Sujet :

Windows Communication Foundation .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Par défaut Changer le readerquota via le code
    Bonjour à tous,

    Je fais face à un problème assez embettant. Dans une application silverlight, j'instancie un BasicHttpBinding via le code pour pouvoir créer mon point d'acces à mon webservice dynamiquement.

    Or, dans mon cas, je dois modifier le ReaderQuota du BasicHttpBinding pour éviter un crash à cause de données trop lourdes à passer.

    En configurant mon binding dans le web.config, tout passe bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     <basicHttpBinding>
            <binding name="MyBasicHttpBinding"  maxReceivedMessageSize="2147483647" closeTimeout="00:05:00" openTimeout="00:05:00" receiveTimeout="00:05:00" sendTimeout="00:05:00">
              <readerQuotas maxArrayLength="2147483647" maxDepth="2147483647" maxBytesPerRead="2147483647" maxStringContentLength="2147483647"/>
            </binding>
          </basicHttpBinding>
    Mais par le code, je n'ai aucune propriété permettant de changer le readerquotas :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Dim binding As New BasicHttpBinding()
            binding.Name = "BindingGestionTech"
            binding.CloseTimeout = New TimeSpan(0, 20, 0)
            binding.OpenTimeout = New TimeSpan(0, 20, 0)
            binding.ReceiveTimeout = New TimeSpan(0, 20, 0)
            binding.SendTimeout = New TimeSpan(0, 20, 0)
            binding.MaxBufferSize = 2147483647
            binding.MaxReceivedMessageSize = 2147483647
    Dans mes recherches, j'ai croisé beaucoup de solutions C# mais rien en VB.Net. Or, toute la solution est VB, je ne peux donc pas me permettre de remettre en C#.

    Une idée ?
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Normalement avec ce code ça devrait marcher :
    Code VB.Net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    XmlDictionaryReaderQuotas readerQuotas = new XmlDictionaryReaderQuotas()
    readerQuotas.MaxArrayLength = 25 * 1024
    binding.ReaderQuotas = readerQuotas

    Tu utilises quelle version du framework ? Parce que cette propriété si tu utilises .NET Framework Client Profile, elle n'est disponible que si tu utilises la version 4 ou 3.5 SP1 !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Par défaut
    Salut,

    Non, cela ne fonctionne pas car la propriété ReaderQuotas n'est pas disponible.
    Il faut savoir que je tente de réaliser cette operation dans un projet de type Bibliotheque de classes utilisant le framework Silverlight 4. Je pense que c'est là où ca bloque :/ mais comment faire du coup parce que là j'en aurais vraiment vraiment besoin !

    Merci pour la réponse

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bon après une petite recherche, je viens d'apprendre un truc avec ce lien :
    If you are using Silverlight as your client then reader quotas etc are not available, but it the good news is that it reads the values from the server so it still works..
    Donc apparemment c'est la valeur configurée sur le serveur qui sera pris en compte donc configure ton readerQuotas côté serveur.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Par défaut
    Je viens de faire l'essai apres lecture de ton lien et non, ca ne fait rien de plus :/ toujours le message d'erreur disant que je dois modifier le readerquotas.
    Le pire dans tout ca, c'est que quand, coté client, je le parametre via le web.config, tout fonctionne parfaitement. Mais dès que je cherche à créer dynamiquement la liaison au webservice, vu que je ne peux pas créer le readerquotas par code, il ne passe pas (et du coup, je doute qu'il aille chercher l'information coté serveur :/)

  6. #6
    Invité
    Invité(e)
    Par défaut
    Est-ce qu'on pourrait savoir pourquoi tu veux coûte que coûte passer par la méthode manuelle au lieu du fichier de configuration ?

    Si tu effectues une recherche tu verras bien que tout le monde le fait dans le fichier de configuration du client SL et tout marche. Pour l'instant je ne sais pas pourquoi via le code tu ne peux pas le faire.

Discussions similaires

  1. log4j, changer de fichier via code
    Par Nalfeim dans le forum Logging
    Réponses: 6
    Dernier message: 03/08/2010, 12h01
  2. [API] Lancer une application externe via un code Java
    Par k o D dans le forum Général Java
    Réponses: 19
    Dernier message: 09/03/2006, 15h12
  3. [Débutant] Changer un lien via du javascript
    Par beegees dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/02/2006, 19h09
  4. Comment dupliquer un enregistrement via le code ?
    Par massol joel dans le forum Access
    Réponses: 2
    Dernier message: 11/11/2005, 19h01
  5. [QuickReport] Changer la direction par le code
    Par cadetill dans le forum Composants VCL
    Réponses: 2
    Dernier message: 11/08/2005, 14h09

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