none
WCF ServiceHost не запускается из-за ограничения прав доступа RRS feed

  • Вопрос

  • using ClassLibrary;
    using System;
    using System.ServiceModel;
    
    namespace ConsApp_WcfServiceHost
    {
        class Program
        {
            static void Main(string[] args)
            {
                var address = new Uri("http://localhost:8002/IService/");
                var binding = new BasicHttpBinding();
                Type contract = typeof(IService);
    
                var host = new ServiceHost(typeof(Service1));
                host.AddServiceEndpoint(contract, binding, address);
                host.Open();
    
                Console.WriteLine("host.State == {0}", host.State);
    
                Console.ReadKey();
            }
        }
    
        [ServiceContract]
        public interface IService
        {
            [OperationContract]
            string GetData(int value);
        }
    
        public class Service1 : IService
        {
            public string GetData(int value)
            {
                return string.Format("You entered: {0}", value);
            }
        }
    }

    Вот вроде бы элементарный пример, но почему он не работает???

    Необработанное исключение типа "System.ServiceModel.AddressAccessDeniedException" в System.ServiceModel.dll:

    Протоколу HTTP не удалось зарегистрировать URL-адрес http://+:8002/ConsApp_WcfServiceHost/IService/. Текущий процесс не имеет прав доступа к этому пространству имен (подробнее см. на веб-странице http://go.microsoft.com/fwlink/?LinkId=70353).



    • Изменено Casper-SC 17 апреля 2014 г. 20:34
    17 апреля 2014 г. 20:18

Ответы

  • Насколько я знаю такой возможности нет. Самый быстрый способ установить на иконке студии данную опцию

    и тна всегда будет запускаться от имени админа. У меня всегда так стоит.


    Сделаем содержимое сообщества лучше, вместе!

    • Помечено в качестве ответа Casper-SC 21 апреля 2014 г. 20:19
    20 апреля 2014 г. 5:01
    Модератор

Все ответы

  • Кажется я понял. Нужно запускать проект в режиме администратора. Но как запускать из студии в режиме админа? Я добавил манифест приложения, поставил там:
    <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
    Но приложение по прежнему запускается не с правами админа, вот если запустить эксешник, то всё нормально работает
    17 апреля 2014 г. 21:21
  • Попробуйте запустить саму студию от имени админа.

    Сделаем содержимое сообщества лучше, вместе!

    18 апреля 2014 г. 5:42
    Модератор
  • У меня были такие мысли. Как? Нигде не могу найти опцию, чтобы студия с правами админа запускалась
    18 апреля 2014 г. 15:14
  • Правый клик на иконке студии, выберите запустить от имени администратора.

    Сделаем содержимое сообщества лучше, вместе!

    19 апреля 2014 г. 4:06
    Модератор
  • Не, это я и сам знаю. Но это нужно каждый раз заходить в папку с студией, как минимум. А вот как сделать, чтобы студия сама узнавала, что сейчас нужно запустить с правами админа, я где-то видел такое поведение, студия именно просила перезапуститься с правами администратора. Либо при запуске проекта, чтобы можно было указать, что этот проект всегда запускать с правами админа. В студии есть такая возможность?
    20 апреля 2014 г. 4:46
  • Насколько я знаю такой возможности нет. Самый быстрый способ установить на иконке студии данную опцию

    и тна всегда будет запускаться от имени админа. У меня всегда так стоит.


    Сделаем содержимое сообщества лучше, вместе!

    • Помечено в качестве ответа Casper-SC 21 апреля 2014 г. 20:19
    20 апреля 2014 г. 5:01
    Модератор