Права доступа WCF ServiceHost

При просмотре руководства по WCF я получаю следующую ошибку.

HTTP не удалось зарегистрировать URL-адрес http://+:8000/ServiceModelSamples/Service/. У вашего процесса нет прав доступа к этому пространству имен (см. http://go.microsoft.com/fwlink/?LinkId=70353 для подробностей).

Это что-то вызвано ограничением в Windows 7?


person Joshua    schedule 20.05.2009    source источник
comment
Вы можете найти много полезной информации на этом блог. Hey также предоставляет хороший инструмент с графическим интерфейсом.   -  person bob    schedule 17.07.2011
comment
возможный дубликат http://stackoverflow.com/questions/8727293/http-could-not-register-url-http-8000-hellowcf-your-process-does-not-have   -  person G.Y    schedule 07.06.2015


Ответы (10)


Проблема в том, что создание URL-адреса в Windows заблокировано.

Действия по исправлению: Запустите командную строку от имени администратора. Добавьте URL-адрес в ACL

netsh http add urlacl url=http://+:8000/ServiceModelSamples/Service user=mylocaluser
person Joshua    schedule 20.05.2009
comment
Рад, что вы это исправили. Что означал +? - person John Saunders; 20.05.2009
comment
У меня есть подозрение, что это означает общий локальный IP-адрес. - person Joshua; 20.05.2009
comment
Примечание. Вам необходимо точно ввести url = http: // +: порт / путь. url = address: port / path не работал у меня, как вы могли подумать. Также обратите внимание, что вы должны использовать сетевой сервер в качестве пользователя (NT AUTHORITY \ NETWORK SERVICE, если это то, что установлено в установщике вашей службы. - person Mike Pateras; 15.06.2010
comment
В любом случае, вы можете сделать это без доступа администратора? - person setzamora; 10.09.2012
comment
А для более старых версий Windows, таких как Server 2003, есть полезная информация о том, что делать в этом блоге и не очень полезен на сайте MSDN - person Philip; 26.06.2014
comment
использование моей учетной записи для пользователя не сработало. Работал с пользователем = Все - person Kim; 20.11.2014

Если вы работаете через IDE, вам может помочь запуск от имени администратора. Для этого найдите значок приложения Visual Studio 2008/10, щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора».

person Stephen Newman    schedule 20.05.2009
comment
Не совсем лучшее решение @Liam - права администратора в среде разработки в корпоративной среде могут дать вам гораздо больше разрешений для выполнения опасных вещей. Конечно, гораздо более простое решение, но с силой приходит ответственность ... - person Unsliced; 10.07.2012
comment
Исходное решение также требовало исполнения от имени администратора - на меньший период времени, и, конечно же, вам нужно знать, что вы делаете, из контекста безопасности. - person Stephen Newman; 11.07.2012
comment
так все-таки сделать это без админских привилегий? - person setzamora; 10.09.2012
comment
Идеально. Я запускал программу из IDE, которой необходимо было зарегистрировать URL-адрес на другом компьютере, и запуск от имени администратора работал отлично. - person ThePartyTurtle; 09.08.2016

Другое решение - использовать адрес

http://localhost:8732/Design_Time_Addresses/YOUR_ADDRESS.

.NET Framework (3.5) автоматически регистрирует этот адрес (http: // *: 8732 / Design_Time_Addresses) для области отладки. Это полезно, когда вам нужно разместить службы внутри Visual Studio для отладки или тестирования. Не используйте это в продакшене ...

person Davide Icardi    schedule 16.04.2012
comment
Некоторые сайты ссылаются на порт 8731 вместо 8732. - person Nenad Dobrilovic; 06.08.2012
comment
@DaviFiamenghi Пока установлен .net 3.5, он должен работать. Но я никогда не пробовал. Обычно я считаю такой тест интеграционным тестом, поэтому я не запускаю его на TFS, я запускаю только модульные тесты на TFS. - person Davide Icardi; 27.06.2013
comment
@NenadDobrilovic Моя использует 8733 :). Но это не важно. - person Hooch; 10.09.2014
comment
Наш сервер использует localhost: 8733 / Design_Time_Addresses, и я бы никогда не стал искать его без вашего ответа , Благодарность. Кроме того, Инструмент Боба показал все разрешенные адреса - вот как я обнаружил, что это 8733. Спасибо - person Lee Oades; 13.11.2014

Откройте командную строку от имени администратора и напишите команду ниже, чтобы добавить свой URL:

netsh http add urlacl url=http://+:8000/YourServiceLibrary/YourService user=Everyone
person Metin Atalay    schedule 24.02.2015

Откройте Visual Studio от имени администратора .. Он запустится.

person Vicky    schedule 24.04.2013
comment
У меня была такая же проблема с nunit-gui. Сбегал от имени администратора, все хорошо. - person Valamas; 18.11.2013
comment
У меня такая же проблема с 2013 годом, и работа от имени администратора не работает - person ZoomVirus; 22.09.2014
comment
зачем мне админ, почему я не могу работать как обычный пользователь? - person John; 04.04.2018

Другой вариант, который работает ...,

Если вы измените идентификацию в пуле приложений, вы можете запустить код, идея состоит в том, чтобы изменить учетную запись выполнения пула приложений для одной учетной записи с большим количеством привилегий,

Для более подробной информации используйте этот блог.

https://letrasandnumeros.com/2017/11/27/http-could-not-register-url-http-80-hellowcf-your-process-does-not-have-access-rights-to-this-namespace/

person Lucaseto    schedule 27.11.2017

Я работаю над Windows Vista. Даже я столкнулся с той же проблемой, но когда я попытался запустить VS 2008 с правами администратора, проблема была решена, и моя служба была запущена. :)

person Anitesh Kumar.    schedule 10.07.2011

Запуск Visual Studio от имени администратора может решить проблему, но если вы используете Visual Studio, например, с TortoiseSVN, вы не сможете зафиксировать какие-либо изменения. Другое возможное решение - запустить службу от имени администратора, а остальную часть Visual Studio - от имени локального пользователя.

person Doro    schedule 24.09.2014

откройте свою Visual Studio в режиме администрирования и попробуйте.

person Palnati    schedule 28.08.2014

Откройте Visual Studio от имени администратора:

введите описание изображения здесь

person lalit    schedule 17.06.2015