2010-06-30 12 views
0

J'ai la même application config sur les deux programmes
A - le service lui-même quand je l'exécute, wcf Test Client démarre.
B - Un programme d'accueil de l'auto en utilisant - new ServiceHost(typeof(MyService)))même app.config: wcftestclient travail, selfHosting doesnot

ici est:

<services> 
    <service name="MyNameSpace.MyService" 
      behaviorConfiguration="MyService.Service1Behavior"> 
    <host> 
     <baseAddresses> 
     <add baseAddress="http://localhost:5999/MyService"/> 
     </baseAddresses> 
    </host> 
    <endpoint 
      binding="basicHttpBinding" 
      contract="StorageServiceInterface.IService1" 
      bindingConfiguration="MyBasicHttpBinding" 
      name="basicEndPoint"> 

     <identity> 
     <dns value="localhost"/> 
     </identity> 
    </endpoint> 
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
    </service> 
</services> 


<bindings> 
    <basicHttpBinding> 
    <binding name="MyBasicHttpBinding"> 
     <security mode="None"> 
     <transport clientCredentialType="None" /> 
     </security> 
    </binding> 
    </basicHttpBinding> 
</bindings> 


<behaviors> 
    <serviceBehaviors> 
    <behavior name="HeziService.Service1Behavior">   
     <serviceMetadata httpGetEnabled="true"/>   
     <serviceDebug includeExceptionDetailInFaults="true"/> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 

le client utilise ClientBase<StorageServiceInterface.IService1>
client app.config:

<system.serviceModel> 
    <client> 
     <endpoint address="http://myIp/MyService" 
        binding="basicHttpBinding" 
        contract="StorageServiceInterface.IService1">     
     </endpoint> 
    </client> 
</system.serviceModel> 

quand je lance le programme SelfHost et host.open faire()
elle ouvre, mais quand je tente d'appeler une méthode, il me dit que:

"No connection could be made because the target machine actively refused it 10.0.0.1:5999"

ofcourse lorsque la course de service du client de test WCF, tout fonctionne. comment cela pourrait-il être ??

merci à l'avance

+1

pouvez-vous nous montrer le code de votre application auto-hébergement ?? –

Répondre

0

quelque chose d'étrange:

ce qui concerne marc_s qui me demande d'écrire mon code SelfHost prog ..

j'utilisais:

private void m_startServiceToolStripMenuItem_Click(object sender, EventArgs e) 
{ 
    using (Host = new ServiceHost(typeof(MyNameSpace.MyService))) 
    { 
     Host.Open(); 
    } 
} 

avant que je l'ai ajouté à la question i essayé de le changer sans le using partie:

private void m_startServiceToolStripMenuItem_Click(object sender, EventArgs e) 
{ 
    Host = new ServiceHost(typeof(yNameSpace.MyService)); 
    Host.Open(); 
} 

et maintenant son travail !!

mais, en quelque sorte, il a travaillé avant ...
merci à vous tous de toute façon :-)

+1

Eh bien oui - l'utilisation() .... va détruire l'hôte à la fermeture} et le disposer. Donc ça ne va pas marcher ... –

0

juste deviner - Que diriez-vous d'ajouter une adresse à votre terminal côté serveur:

<endpoint address="" .... > 

Oui, l'adresse de base définit essentiellement l'adresse complète - mais vous devriez quand même ajouter l'adresse à votre point de terminaison de service - même s'il est vide.

+0

n'a pas travaillé .. merci bien – yoni