wcf Système.ServiceModel.AddressAlreadyInUseException

Excuses si cette question apparaît deux fois sur stackOverflow

Im essayant d'exécuter un service wcf sur un serveur windows 2003-fort. Im obtenir un Système.ServiceModel.AddressAlreadyInUseException exception lorsque le servicehost appels Open() et il dit me donne l'erreur suivante:

HTTP n'a pas pu inscrire URL http://+:8080/LogoResizer/mex/ parce que le port TCP 8080 est utilisé par une autre application

J'ai lu que j'ai besoin d'utiliser la httpcfg.exe pour enregistrer mon espace de noms et j'ai utilisé l'interface graphique de l'outil de ici de le faire, mais j'ai toujours l'exception ci-dessus. L'exécution de la commande "netstat -a" ne pas montrer quoi que ce soit d'autre à l'écoute sur le port 8080 et en cours d'exécution "httpcfg.exe requête urlacl" retourne m'inscrit espaces de noms.

C:\Program Files\Support Tools>httpcfg requête urlacl
URL : http://+:80/Temporary_Listen_Addresses/

ACL : D:(A;;GX;;;WD)

URL : http://+:8080/LogoResizer/

ACL : D:(A;;GX;;;WD)

URL : http://+:8080/LogoResizer/mex/

ACL : D:(A;;GX;;;WD)

La config pour mon application est comme ci-dessous:

<system.serviceModel>
    <bindings>
        <netTcpBinding>
            <binding name="NetTcpBinding_ImageResizerServiceContract" closeTimeout="00:01:00"
                openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
                hostNameComparisonMode="StrongWildcard" listenBacklog="10"
                maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxConnections="10"
                maxReceivedMessageSize="2147483647">
                <readerQuotas maxDepth="2147483647"
                              maxStringContentLength="2147483647"
                              maxArrayLength="2147483647"
                              maxBytesPerRead="2147483647"
                              maxNameTableCharCount="2147483647" />
                <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
                <security mode="Transport">
                    <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
                    <message clientCredentialType="Windows" />
                </security>
            </binding>

        </netTcpBinding>
    </bindings>
    <behaviors>
        <serviceBehaviors>
            <behavior name="ServiceBehavior">
                <serviceMetadata httpGetEnabled="true" />
                <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
    <services>
        <service name="LogoResizer.WCF.ServiceTypes.ImageResizerService" behaviorConfiguration="ServiceBehavior">
            <host>
                <baseAddresses>
                    <add baseAddress="http://localhost:900/mex/"/>
                    <add baseAddress="net.tcp://localhost:9000/" />
                </baseAddresses>
            </host>
            <endpoint bindingConfiguration="NetTcpBinding_ImageResizerServiceContract" binding="netTcpBinding" contract="LogoResizer.WCF.ServiceContracts.IImageResizerService" />
            <endpoint  address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
        </service>
    </services>
</system.serviceModel>

Quelqu'un a une idée de ce que Im faire mal ou comment je peux enregistrer mon espace de noms pour que je puisse avoir un point de terminaison http pour mon service?

"Toutes mes excuses si cette question apparaît deux fois sur stackOverflow". Tu veux dire, du Système.StackOverflow.QuestionAlreadyInUseException?

OriginalL'auteur Dav Evans | 2009-01-22