Visual Studio не может открыть порт для размещения службы WCF
Я создал решение VS2010 C# со службой WCF, библиотекой для получения данных, служба отлично работает в консольном приложении в решении. Нет проблем.
Я должен использовать его на проекте VS2008 (и, возможно, позже на VS2005) для более старых проектов. Затем я запускаю VS2010, я получаю "Тестовый клиент WCF". В это время в VS2008 я пытался "добавить веб-ссылку" на локальную машину... безрезультатно.
Затем я попытался создать консольное приложение с Vs2010 для его размещения, я сделал это:
Uri baseAddress = new Uri("http://localhost:8080/hello");
using (ServiceHost host = new ServiceHost(typeof(SecurityAccessWCF.WCFSecurityService), baseAddress))
{
// Enable metadata publishing.
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
smb.MetadataExporter.PolicyVersion = PolicyVersion.Policy15;
host.Description.Behaviors.Add(smb);
host.Open();
Console.WriteLine("The service is ready at {0}", baseAddress);
Console.WriteLine("Press <Enter> to stop the service.");
Console.ReadLine();
// Close the ServiceHost.
host.Close();
}
Я получаю ошибку на Open()
, Я получаю эту ошибку "AddressAccessDeniedException - HTTP не может зарегистрировать URL... Ваш процесс не имеет прав доступа" (предоставленная ссылка не ясна, я нахожусь на Win7 x64 как локальный администратор и в домене)
2 ответа
Shift + щелчок правой кнопкой мыши на ярлык Visual Studio и выберите Запуск от имени администратора
Таким образом, вы сможете разместить его.
Кроме того, вы можете создать проект и запустить полученное консольное приложение таким же образом под учетной записью администратора.
Это стандартная ошибка, означающая, что ваше приложение не может зарегистрировать домен. Обычно это проблема Vista/ Windows 7 с безопасностью. Войдите в систему как администратор и запустите netsh http add urlacl url=http://+:80/Localhost user=DOMAIN\user
Вот статья MSDN с дополнительной информацией