Question

Nous développons une application .NET 2.0 Winform. L'application doit accéder aux Services Web . Cependant, nous rencontrons des problèmes avec les utilisateurs derrière les proxies.

Les applications de sauvegarde Windows les plus courantes (pensez à Mozy ) fournissent une fenêtre de dialogue relativement complexe dédiée aux paramètres de proxy. Cependant, ré-implémenter une autre logique de traitement de proxy et une interface graphique me donne une perte de temps totale.

Quels sont les meilleurs moyens de gérer un proxy avec des applications client .NET?

Plus précisément, nous avons un cas où l'utilisateur a enregistré ses paramètres de proxy dans Internet Explorer (y compris le nom d'utilisateur et le mot de passe). Le comportement du proxy par défaut de .NET devrait donc fonctionner. Pourtant, l'utilisateur est toujours invité à entrer son nom d'utilisateur et son mot de passe lors du lancement d'IE (les deux champs sont pré-remplis, il suffit de cliquer sur OK) et notre application Winform ne parvient toujours pas à gérer le proxy.

Que devrions-nous faire pour faire en sorte que l'utilisateur ne soit pas invité à entrer son nom d'utilisateur et son mot de passe lors du lancement d'IE?

Était-ce utile?

La solution

Mettez ceci dans le fichier de configuration de votre application:

<configuration>
  <system.net>
    <defaultProxy>
      <proxy autoDetect="true" />
    </defaultProxy>
  </system.net>
</configuration>

et votre application utilisera les paramètres de proxy d'IE. Si vous pouvez voir votre service Web dans IE via le serveur proxy, vous devriez pouvoir "voir". à partir de votre application.

Autres conseils

Utilisez les classes WebProxy et WebRequest. Emballez-le dans votre propre bibliothèque juste pour une fois et utilisez-le partout où vous voulez travailler avec un proxy.

Envisagez d'utiliser le WebProxy de .NET .NET classe. Il prend en charge la sélection automatique des paramètres par défaut corrects.

Le moyen le plus simple consiste à utiliser les paramètres de proxy de IE Explorer.

Si vous ouvrez IE, cliquez sur OK dans la boîte de dialogue du proxy, puis (en laissant IE ouvert), essayez de vous connecter à votre application winforms. Votre application fonctionne-t-elle alors? Ou bien votre application ne parvient-elle pas à gérer le proxy quoi qu'il en soit?

Vos clients rencontrant des problèmes de proxy sont-ils tous sur le même réseau (c'est-à-dire utilisent-ils tous le même serveur proxy)?

Je pense que le demandeur comprend qu'il doit utiliser WebProxy si l'utilisateur a besoin d'un proxy. La question est "comment puis-je obtenir les paramètres de proxy d'IE pour ne pas avoir à demander à l'utilisateur de les saisir dans mon application, bien? "

System.Net.WebProxy.GetDefaultProxy est obsolète, vous devez utiliser System.Net.WebRequest.DefaultWebProxy. Il existe un article le décrivant à l'adresse http://msdn.microsoft.com/fr. -ca / magazine / cc300743.aspx .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top