当试图“启动”Windows服务时,我收到错误

时间:2012-04-04 18:43:15

标签: .net wcf service netnamedpipebinding

我正在关注John Sharp的“Windows Communication Foundation 4”中的示例。页面88-89显示了如何注册和启动服务。我的服务没有开始。

我需要说我无法在自己的主机中使用net.tcp来运行该服务,因为它抱怨正在使用的端口,而且这个应该使用namedPipes。

应用程序日志中的错误是

Service cannot be started. System.ServiceModel.AddressAlreadyInUseException: HTTP could not register URL http://+:8080/ProductsService/Service.svc/ because TCP port 8080 is being used by another application. ---> System.Net.HttpListenerException: The process cannot access the file because it is being used by another process
   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.Communicat...

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

正如你在错误的第一行所说的那样

  

HTTP无法注册URL http://+:8080/ProductsService/Service.svc/,因为另一个应用程序正在使用TCP端口8080。

您正尝试在端口8080上注册,但是另一个应用程序正在使用端口8080。尝试更改端口号,直到找到未使用的端口号。

答案 1 :(得分:2)

另一项服务正在使用该端口

尝试8084