2010-10-19 6 views
2

Comment utiliser un ServiceHostFactory avec plusieurs liaisons?ServiceHostFactory avec plusieurs liaisons?

C'est ce que je l'ai essayé et je continue ... problèmes pour trouver un après l'autre erreur ... S'il vous plaît aider à me corriger ce ..

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.ServiceModel; 
using System.ServiceModel.Activation; 
using System.ServiceModel.Web; 
using System.Web.Services.Description; 
using System.ServiceModel.Description; 
using System.ServiceModel.Channels; 

namespace WcfService7 
{ 
    public class clsMyOwnServiceHost : ServiceHostFactory 
    {  
     protected override ServiceHost CreateServiceHost(Type t, Uri[] baseAddresses) 
     { 
      NetTcpBinding binding = new NetTcpBinding(SecurityMode.None); 
      BasicHttpBinding basicbinding = new BasicHttpBinding(BasicHttpSecurityMode.None); 
      WSHttpBinding wsbinding = new WSHttpBinding(SecurityMode.None); 
      ServiceHost host = new ServiceHost(t, baseAddresses); 

      foreach(Uri uri in baseAddresses) 
      { 
       host.AddServiceEndpoint(typeof(IService1), basicbinding, uri); 
       host.AddServiceEndpoint(typeof(IService1), wsbinding, uri);  
       host.AddServiceEndpoint(typeof(IService1), binding, uri);   
      } 

      return host; 
     } 
    } 
} 

Merci

Répondre

2

Le uri a besoin de être différent pour chaque type de liaison.

TCP: net.tcp: // {nom d'hôte} [: port]/{location}
HTTP de base: http: // {nom d'hôte} [: port]/{location}
WS HTTP: http: // {nom_hôte}: {port}/{emplacement}

+0

c'est juste ... mais ... que devrait-il être? Comment devrais-je le changer? – Josh

+0

essayé, mais il ne fonctionne pas .... – Josh

+0

@Josh, en fait, vous faites quelque chose d'incorrect ici: pour l'URI, vous avez juste besoin de passer une adresse relative - pas l'adresse de base. –

Questions connexes