Приложение, которое я пишу, должно использовать .Net Remoting (я знаю, что WCF - это «новая вещь», но, к сожалению, в настоящее время это не вариант, доступный для нас).
В любом случае, все работает нормально, если я не пытаюсь использовать приложение через прокси. Однако приложение должно иметь возможность функционировать через прокси-веб-серверы. Я настроил HttpChannel и установил свойства 'proxyName' и 'proxyPort' в их правильные значения. Это позволяет каналу использовать прокси-сервер без проблем.
У меня есть следующие проблемы:
1: Если прокси-сервер требует аутентификации, кажется, нет способа установить учетные данные, которые канал должен использовать для аутентификации с прокси. Я пробовал как свойство 'credentials', так и свойства 'username' и 'password', но, похоже, оно не работает. Таким образом, конечный результат в случае, когда прокси-сервер требует аутентификации и просто возвращает ошибку аутентификации при каждом вызове удаленного метода.
2: Я не могу заставить HttpChannel использовать системный веб-прокси по умолчанию. Если Internet Explorer настроен на использование прокси-сервера, я должен иметь возможность использовать WebRequest.GetSystemWebProxy () для его получения. Однако, это возвращает IWebProxy, и я не могу извлечь хост и порт из этого. Если кто-нибудь знает способ сделать это, я был бы очень признателен.
Что расстраивает, так это то, что если вы пошагово просматриваете код с помощью Visual Studio и изучаете класс HttpChannel, то существует объект WebProxy. Жизнь была бы намного проще, если бы они предоставили доступ к этому!
Итак, в основном я спрашиваю: как мне заставить HttpChannel правильно использовать веб-прокси, учитывая, что мне нужно иметь возможность использовать прокси-сервер, требующий аутентификации, и возможность автоматического определения настройки прокси в Internet Explorer? Есть ли более простой способ создания экземпляра канала, чтобы я мог просто передать ему прокси-объект в качестве параметра?
Любая помощь очень ценится!