Клиентское приложение .NET: как связаться с веб-сервисами в случае прокси? - PullRequest
4 голосов
/ 24 сентября 2008

Мы разрабатываем WinNET-приложение .NET 2.0. Приложению требуется доступ к веб-службам . Тем не менее, у нас возникают проблемы с пользователями за прокси.

Популярные приложения резервного копирования Windows (думаю, Mozy ) предоставляют довольно сложное диалоговое окно, посвященное настройкам прокси. Тем не менее, повторная реализация еще одной логики обработки прокси и GUI выглядит для меня пустой тратой времени.

Каковы наилучшие способы работы с прокси в клиентских приложениях .NET?

Более конкретно, у нас есть случай, когда пользователь записал свои настройки прокси в Internet Explorer (включая имя пользователя и пароль), поэтому поведение прокси по умолчанию *1012* .NET должно работать Тем не менее, пользователю по-прежнему предлагается ввести имя пользователя и пароль при запуске IE (оба поля предварительно заполнены, пользователю просто нужно нажать кнопку ОК) - и наше приложение winform все еще не может обработать прокси.

Что мы должны сделать, чтобы у пользователя не запрашивалось имя пользователя и пароль при запуске IE?

Ответы [ 7 ]

11 голосов
/ 24 сентября 2008

Поместите это в файл конфигурации вашего приложения:

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

и ваше приложение будет использовать настройки прокси из IE. Если вы можете видеть свой веб-сервис в IE, используя прокси-сервер, вы сможете «увидеть» его из своего приложения.

2 голосов
/ 24 сентября 2008

Используйте классы WebProxy и WebRequest. Оберните это в свою собственную библиотеку только на один раз и используйте везде, где вы хотите работать с прокси.

1 голос
/ 24 сентября 2008

Изучите использование класса .NET WebProxy . Имеется поддержка автоматического выбора правильных настроек по умолчанию.

0 голосов
/ 27 сентября 2008

Я думаю, что спрашивающий понимает, что он должен использовать WebProxy, если пользователю требуется прокси-сервер, вопрос заключается в следующем: «Как мне получить настройки прокси в IE, чтобы мне не нужно было просить пользователя ввести их в мое приложение?» ? "

System.Net.WebProxy.GetDefaultProxy устарела, вы должны использовать System.Net.WebRequest.DefaultWebProxy. Есть статья, описывающая это в http://msdn.microsoft.com/en-ca/magazine/cc300743.aspx.

0 голосов
/ 24 сентября 2008

Все ли ваши клиенты испытывают проблемы с прокси-сервером в одной сети (т. Е. Используют ли они один и тот же прокси-сервер)?

0 голосов
/ 24 сентября 2008

Если вы откроете IE, нажмите OK в диалоговом окне прокси, а затем (оставив IE открытым) попытайтесь подключиться к вашему приложению winforms, будет ли ваше приложение работать? Или ваше приложение не справляется с прокси, несмотря ни на что?

0 голосов
/ 24 сентября 2008

Самый простой способ - использовать настройки прокси из IE Explorer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...