1 / 1 / 0
Регистрация: 19.01.2013
Сообщений: 46
1

В конфигурационном файле прописан порт, но пишет ошибку порт 80 занят другим приложением

13.02.2016, 20:17. Показов 4084. Ответов 1
Метки нет (Все метки)

Здравствуйте.
Пишу решение с 2 проектами - сервер и клиент с дуплексным контрактом.
Служба запускается нормально.
Когда же запускаю клиента, то выдает исключение:

Необработанное исключение: System.ServiceModel.AddressAlreadyInUseException: Протоколу HTTP не удалось зарегистрировать URL-адрес http://+:80/Temporary_Listen_Addresses/d827e23f-6693-42e3-9bc3-4beb2c3f0fd6/, так как TCP-порт 80 используется другим приложением. ---> System.Net.HttpListenerException: Процесс не может получить доступ к файлу, так как этот файл занят другим процессом

Но дело в том, что в конфигурационном файле как сервера, так и клиента я прописал порт явно, и это не порт 80:

Клиент:

XML
1
2
3
4
5
6
7
8
9
10
11
12
...
   <client>
       <endpoint address="http://localhost:8732/Design_Time_Addresses/WcfDuplexItStepProj/IDuplexSvc/"
            binding="wsDualHttpBinding" bindingConfiguration="WSDualHttpBinding_IDuplexSvc"
            contract="ServiceReference1.IDuplexSvc" name="WSDualHttpBinding_IDuplexSvc">
            <identity>
               <!-- <dns value="localhost:8732" /> -->
               <dns value="localhost" />
            </identity>
      </endpoint>
   </client>
...
Сервер:

XML
1
2
3
4
5
6
7
8
9
10
11
...
<host>
          <baseAddresses>
            <add baseAddress = "http://localhost:8732/Design_Time_Addresses/WcfDuplexItStepProj/IDuplexSvc/" /> 
            <!--<add baseAddress = "http://localhost:8732/WcfDuplexItStepProj/IDuplexSvc/" />-->
          </baseAddresses>
        </host>
        <!-- Service Endpoints -->
        <!-- Unless fully qualified, address is relative to base address supplied above -->
        <endpoint address ="" binding="wsDualHttpBinding" contract="WcfDuplexItStepProj.IDuplexSvc">
...
То есть, получается, порт 8732, а не 80
В чем тут проблема?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.02.2016, 20:17
Ответы с готовыми решениями:

Занят порт
Написал WCF Library class, и пытаюсь его протестировать wcftestclient'ом, но получаю ошибку, что...

Прокси сервер. Порт занят
При запуске прокси сервера TcpListener на 80 порту, выходит ошибка Обычно разрешается только одно...

Создаю UPDATER, в program.cs, но выдает ошибку "файл занят другим приложением"
В файле program.cs, то есть перед запуском проги делаю проверку. ...

Занят порт 80
Вчера обновился до windows 10. сегодня пытаюсь запустить сервер, пишет что порт 80 занят службами...

1
Эксперт .NET
5446 / 4220 / 1207
Регистрация: 12.10.2013
Сообщений: 12,207
Записей в блоге: 2
13.02.2016, 21:16 2
Лучший ответ Сообщение было отмечено aviacheslav как решение

Решение

Цитата Сообщение от aviacheslav Посмотреть сообщение
В чем тут проблема?
Вангую, что у вас на компьютере работает IIS, который и занимает этот порт. В итоге исключение.
Для того чтобы этого не было, в конфиге клиента пропишите секцию привязки, в которой присвойте значение свойству ClientBaseAddress адрес службы с любым свободным портом.

Добавлено через 4 минуты
aviacheslav, типа такого.
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?xml version="1.0"?>
<configuration>
    <system.web>
        <compilation debug="false" targetFramework="4.0"/>
    </system.web>
  <system.serviceModel>
    <client>
      <endpoint address="http://localhost:8732/Design_Time_Addresses/WcfDuplexItStepProj/IDuplexSvc/"
                binding="wsDualHttpBinding" 
                bindingConfiguration="wsDual"
                contract="ServiceReference1.IDuplexSvc" 
                name="WSDualHttpBinding_IDuplexSvc">
        <identity>
          <!-- <dns value="localhost:8732" /> -->
          <dns value="localhost" />
        </identity>
      </endpoint>
    </client>
    <bindings>
      <wsDualHttpBinding>
        <binding name="wsDual" 
                 clientBaseAddress="http://localhost:8095/Design_Time_Addresses/WcfDuplexItStepProj/IDuplexSvc/">
        </binding>
      </wsDualHttpBinding>
    </bindings>
  </system.serviceModel>
</configuration>
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2016, 21:16
Помогаю со студенческими работами здесь

Определить, занят ли COM-порт
Добрый день! В программе используются несколько com портов. Как можно проверить используется ли...

Узнать занят ли порт
Добрый день, подскажите плиииз. Нужна конструкция в баше типа if(port_used(3000)){ }else{} ...

Glassfish. Занят порт 4848
Всем привет. У меня стоит Ubuntu 14.05, попробовал поставить Glassfish 3.0.1 по вот этому мануалу и...

Как узнать кем занят порт
При запуске программы(не важно какой), выходит сообщение, порт 80 занят, тогда набираю netstat...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru