Я пытаюсь использовать System.Net.WebClient в приложении WinForms для загрузки файла на сервер IIS6, у которого есть проверка подлинности Windows, как это только метод "Аутентификация".
WebClient myWebClient = new WebClient();
myWebClient.Credentials = new System.Net.NetworkCredential(@"boxname\peter", "mypassword"); 
byte[] responseArray = myWebClient.UploadFile("http://localhost/upload.aspx", fileName);
Я получаю: "Удаленный сервер возвратил ошибку: (401)" Неавторизованный ", на самом деле это 401.2
Оба клиента и IIS находятся на одной машине Windows Server 2003 Dev.
Когда я пытаюсь открыть страницу в Firefox и ввести те же правильные учетные данные, что и в коде, страница появляется. Однако при использовании IE8 я получаю ту же ошибку 401.2.
Пробовал Chrome и Opera, и они оба работают.
У меня включена опция "Включить встроенную проверку подлинности Windows" в настройках Internet Internet Explorer.
Журнал событий безопасности имеет аудит сбоя:
Logon Failure:
    Reason:     An error occurred during logon
    User Name:  peter
    Domain:     boxname
    Logon Type: 3
    Logon Process:  ÈùÄ
    Authentication Package: NTLM
    Workstation Name:   boxname
    Status code:    0xC000006D
    Substatus code: 0x0
    Caller User Name:   -
    Caller Domain:  -
    Caller Logon ID:    -
    Caller Process ID:  -
    Transited Services: -
    Source Network Address: 127.0.0.1
    Source Port:    1476
Я использовал Process Monitor и Fiddler для исследования, но безрезультатно.
Почему это работает для сторонних браузеров, но не с IE или System.Net.WebClient?