Ошибка запроса с состоянием HTTP 401: Неавторизованный
У меня есть веб-сайт .NET 2.0 (VB), работающий на моем IIS6 (XP Pro SP2) и .NET 3.5 (настроенный как .NET2 на вкладке IIS ASP.NET, конечно), на котором размещен веб-сервис ASMX.
В Chrome я могу вызвать ASMX и успешно запустить веб-методы. Однако при вызове веб-методов в коде с веб-сайта .NET 2.0 я получаю:
Ошибка запроса с состоянием HTTP 401: неавторизованный.
Как мне обойти это?
Ответы
Ответ 1
Вам нужно установить учетные данные в своем приложении, когда вы инициализируете объект webService
.
Что-то вроде webService.UseDefaultCredentials = true
Это установит учетные данные запроса для текущего пользователя, выполняющего приложение.
Ответ 2
webService.UseDefaultCredentials = true
Это сработало для меня.
Ответ 3
вы можете использовать это:
webservice.UseDefaultCredentials = true;
, если не работает, используйте приведенный ниже код вместо кода выше
webservice.Credentials = new NetworkCredential("userName", "password", "domain");
webservice.PreAuthenticate = true;
Примечание: имя пользователя Пароль и домен - это учетные данные пользователя, которые имеют доступ к веб-сервису
поэтому убедитесь, что у пользователя есть разрешение на доступ к веб-службе
возможно, пользователь является пользователем Windows
и вы можете получить домен: щелкните правой кнопкой мыши в "MyComputer" и свойства
домен - имя компьютера или рабочая группа
Ответ 4
В IIS 7 включите анонимную аутентификацию, и вы должны иметь возможность отлаживать.
Ответ 5
im am test следующим образом:
CheckListService.CheckList chkSrvice = new CheckListService.CheckList() {
UseDefaultCredentials = true };