Hosten eines WCF-Diensts in einem verwalteten Windows-Dienst

Ich habe 3 Projekte in meiner Lösung.

Test Client => zum Hinzufügen von Referenz und Zugriff über TCP / IPWcfServiceLibruary1 => zum Ausführen meiner MethotsWindowsService1 => zum Installieren und Ausführen als Windows-Dienst (Konto: Netzwerkdienst, Starttyp: Automatisch)

Ich habe alle gleichen Codes für msdn sample verwendet

http://msdn.microsoft.com/en-us/library/ff649818.aspx

Ich verwende einen Wcf-Dienst mit 2 Methots. Ich möchte diesen Wcf-Dienst in verwalteten Windows-Diensten verwenden. Ich habe meiner Lösung einen Windows-Dienst hinzugefügt und Verweise festgelegt.

Ich verwende diese Adressreferenz in meiner wcf-app.config:

net.tcp://localhost:2023/Service1

JETZT IST DAS PROBLEM:

Ich kann mit Erfolg einen Verweis auf mein Testclient-Projekt hinzufügen

net.tcp://localhost:2023/Service1:

Diese Referenzadresse wird jedoch bei der Installation nicht als Windows-Dienst verwendet !!! Wenn ich es als Windows-Dienst installiere, kann ich nicht auf diese Adresse zugreifen.No connection could be made because the target machine actively refused it

WcfServiceLibruary app.config:

<?xml version="1.0"?>
  <configuration>
    <system.web>
    <compilation debug="true"/>
  </system.web>
  <!-- When deploying the service library project, the content of the config file must be added to the host's 
  app.config file. System.Configuration does not support config files for libraries. -->
  <system.serviceModel>
    <services>
      <service name="WcfServiceLibrary1.Service1">
        <endpoint address="" binding="netTcpBinding" bindingConfiguration="" contract="WcfServiceLibrary1.IService1">
          <identity>
            <dns value="localhost"/>
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration="" contract="IMetadataExchange"/>
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://localhost:2023/Service1"/>
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="false"/>
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

Mein WindowsService:

protected override void OnStart(string[] args)
{
    if (myServiceHost != null)
    {
        myServiceHost.Close();
    }
    myServiceHost = new ServiceHost(typeof(Service1));
    myServiceHost.Open();
 }

Alles funktioniert gut, wenn ich auf dem visualstudio Service Host starte:

Antworten auf die Frage(1)

Ihre Antwort auf die Frage