Ошибка при размещении WCF на WAS

#asp.net #wcf #was #wcf-hosting

#asp.net #wcf #была #wcf-hosting

Вопрос:

Я получаю эту ошибку при размещении моего приложения WCF в службе Windows. Служба размещена на сервере, и я хочу получить к ней доступ через Интернет. Поэтому я дал ему разрешение networkservice.

 Service cannot be started. System.ServiceModel.AddressAccessDeniedException: HTTP could not register URL http:// :8085/lupload/. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details). ---> System.Net.HttpListenerException: Access is denied
   at System.Net.HttpListener.AddAllPrefixes()
   at System.Net.HttpListener.Start()
   at System.ServiceModel.Channels.SharedHttpTransportManager.OnOpen()
   --- End of inner exception stack trace ---
   at System.ServiceModel.Channels.SharedHttpTransportManager.OnOpen()
   at System.ServiceModel.Channels.TransportManager.Open(TransportChannelListener channelListener)
   at System.ServiceModel.Channels.TransportManagerContainer.Open(SelectTransportManagersCallback selectTransportManagerCallback)
   at System.ServiceModel.Channels.TransportChannelListener.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.HttpChannelListener.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(Tim...

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
  

Ответ №1:

NetworkService на самом деле это учетная запись с ограниченным доступом, вам нужно перейти к LocalSystem , которая эквивалентна учетной записи администратора. Это решит вашу проблему.

Комментарии:

1. Вы перезапускались после изменения идентификатора? В противном случае это изменение не будет принято.

2. Ммм, сложная штука… Можете ли вы запустить netsh http show servicestate и посмотреть, прослушивает ли уже другой процесс HTTP:8085 ?

3. на этом порту не запущен процесс.