2009-08-20 5 views
0

Ich hosten einen WCF-Dienst in einem Windows-gehosteten Dienst.Hosting eines WCF (Mex-Endpunkt) -Service in einem Windows-Dienst unter Windows 2008

Wenn ich den WHS starten, erhalte ich folgende Fehlermeldung:


The ChannelDispatcher at 'net.tcp://mysecreturl/' with contract(s) '"IClass"' is unable to open its IChannelListener. 

System.InvalidOperationException: A registration already exists for URI 'net.tcp://mysecreturl/Indexer/'. 
    at System.ServiceModel.Channels.UriPrefixTable`1.RegisterUri(Uri uri, HostNameComparisonMode hostNameComparisonMode, TItem item) 
    at System.ServiceModel.Channels.ConnectionOrientedTransportManager`1.Register(TransportChannelListener channelListener) 
    at System.ServiceModel.Channels.TransportManager.Open(TransportChannelListener channelListener) 
    at System.ServiceModel.Channels.TransportManagerContainer.Open(SelectTransportManagersCallback selectTransportManagerCallback) 
    at System.ServiceModel.Channels.ConnectionOrientedTransportChannelListener.OnOpen(TimeSpan timeout) 
    at System.ServiceModel.Channels.TcpChannelListener`2.OnOpen(TimeSpan timeout) 
    at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 
    at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout) 

    at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout) 
    at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 
    at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) 
    at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 
    at VBoD.Search.WindowsServiceHost.WindowsServiceHost.OnStart(String[] args) in D:\......:line 29 

System.ServiceModel 

Sind diese irgendwo in Windows oder sind sie eingetragene und nicht eingetragene, wenn I/starten Sie den Vorgang stoppen?

+0

Versuchen Sie, den Mex Endpunkt auf der gleichen URL wie der Service-Endpunkt zu hosten? –

+0

Sind Sie absolut sicher, dass dieses Problem nichts mit Ihrer Konfiguration zu tun hat? Haben Sie deshalb Ihre WCF-Konfiguration nicht gepostet? Das sieht auch nicht wie die komplette Ausnahme aus. Bitte posten Sie die ganze Sache. Vielleicht fangen Sie die Ausnahme und post die Ergebnisse von ex.ToString(). –

Antwort

2

Verwenden Sie einen anderen Endpunkt für Mex. Es benötigt wahrscheinlich auch eine andere Portnummer von Ihrem net.tcp Port. Wenn Ihr net.tcp-Port 8000 ist, dann versuchen Sie

+0

Vergessen Sie nicht die Bindung !!! Bindung = "mexTcpBinding" –

Verwandte Themen