none
Problema endpoint tcp

    Domanda

  • Ciao,

    sto cercando di creare il doppio endpoint basic e net.tcp per un web service wcf. Mi funziona se creo una libreria di classi con host un applicazione console. Se invece provo a modificare il progetto WCF di Visual Studio quando mando in esecuzione mi dà errore (Funziona se tolgo l'endpoint net.tcp)

    Questo il web config:

    <services>
          <service name="ProductsService.HelloService" behaviorConfiguration="mexBehaviour">
            <endpoint address="HelloService" binding="basicHttpBinding" contract="ProductsService.IHelloService">
            </endpoint>
            <endpoint address="HelloService" binding="netTcpBinding" contract="ProductsService.IHelloService">
            </endpoint>
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint>
            <host>
              <baseAddresses>
                <add baseAddress="http://localhost:15248/HelloService.svc"></add>
                <add baseAddress="net.tcp://localhost:15249/HelloService.svc"></add>
              </baseAddresses>
            </host>
          </service>
        </services>
        <behaviors>
          <serviceBehaviors>
            <behavior name="mexBehaviour">
              <serviceMetadata httpGetEnabled="true" />
            </behavior>
          </serviceBehaviors>
        </behaviors>

    Questo l'errore

    Error: Cannot obtain Metadata from http://localhost:15248/HelloService.svc If this is a Windows (R) Communication Foundation service to which you have access, please check that you have enabled metadata publishing at the specified address.  For help enabling metadata publishing, please refer to the MSDN documentation at http://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata Exchange Error    URI: http://localhost:15248/HelloService.svc    I metadati contengono un riferimento che non pu• essere risolto: 'http://localhost:15248/HelloService.svc'.    Impossibile attivare il servizio richiesto, 'http://localhost:15248/HelloService.svc'. Per ulteriori informazioni, vedere i registri di traccia di diagnostica del server.HTTP GET Error    URI: http://localhost:15248/HelloService.svc    Errore durante il download di 'http://localhost:15248/HelloService.svc'.    Richiesta non riuscita con messaggio di errore:--<!DOCTYPE html><html>    <head>        <title>Impossibile trovare un indirizzo di base corrispondente allo schema net.tcp per l'endpoint con binding NetTcpBinding. Gli schemi degli indirizzi di base registrati sono [http].</title>        <meta name="viewport" content="width=device-width" />        <style>         body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;}          p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px}         b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px}         H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }         H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }         pre {font-family:"Consolas","Lucida Console",Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt}         .marker {font-weight: bold; color: black;text-decoration: none;}         .version {color: gray;}         .error {margin-bottom: 10px;}         .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }         @media screen and (max-width: 639px) {          pre { width: 440px; overflow: auto; white-space: pre-wrap; word-wrap: break-word; }         }         @media screen and (max-width: 479px) {          pre { width: 280px; }         }        </style>    </head>    <body bgcolor="white">            <span><H1>Errore server nell'applicazione '/'.<hr width=100% size=1 color=silver></H1>            <h2> <i>Impossibile trovare un indirizzo di base corrispondente allo schema net.tcp per l'endpoint con binding NetTcpBinding. Gli schemi degli indirizzi di base registrati sono [http].</i> </h2></span>            <font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ">            <b> Descrizione: </b>Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere la traccia dello stack.            <br><br>            <b> Dettagli eccezione: </b>System.InvalidOperationException: Impossibile trovare un indirizzo di base corrispondente allo schema net.tcp per l'endpoint con binding NetTcpBinding. Gli schemi degli indirizzi di base registrati sono [http].<br><br>            <b>Errore nel codice sorgente:</b> <br><br>            <table width=100% bgcolor="#ffffcc">               <tr>                  <td>                      <code>Durante l'esecuzione della richiesta Web corrente Š stata generata un'eccezione non gestita. Per informazioni sull'origine e la posizione dell'eccezione, vedere la traccia dello stack dell'eccezione riportata di seguito.</code>                  </td>               </tr>            </table>            <br>            <b>Traccia dello stack:</b> <br><br>            <table width=100% bgcolor="#ffffcc">               <tr>                  <td>                      <code><pre>[InvalidOperationException: Impossibile trovare un indirizzo di base corrispondente allo schema net.tcp per l'endpoint con binding NetTcpBinding. Gli schemi degli indirizzi di base registrati sono [http].]   System.ServiceModel.ServiceHostBase.MakeAbsoluteUri(Uri relativeOrAbsoluteUri, Binding binding, UriSchemeKeyedCollection baseAddresses) +373   System.ServiceModel.Description.ConfigLoader.LoadServiceDescription(ServiceHostBase host, ServiceDescription description, ServiceElement serviceElement, Action`1 addBaseAddress, Boolean skipHost) +728   System.ServiceModel.ServiceHostBase.LoadConfigurationSectionInternal(ConfigLoader configLoader, ServiceDescription description, ServiceElement serviceSection) +69   System.ServiceModel.ServiceHostBase.ApplyConfiguration() +162   System.ServiceModel.ServiceHost.ApplyConfiguration() +183   System.ServiceModel.ServiceHostBase.InitializeDescription(UriSchemeKeyedCollection baseAddresses) +185   System.ServiceModel.ServiceHost.InitializeDescription(Type serviceType, UriSchemeKeyedCollection baseAddresses) +43   System.ServiceModel.ServiceHost..ctor(Type serviceType, Uri[] baseAddresses) +234   System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(Type serviceType, Uri[] baseAddresses) +29   System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses) +522   System.ServiceModel.HostingManager.CreateService(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) +1417   System.ServiceModel.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity) +53   System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) +658[ServiceActivationException: Impossibile attivare il servizio '/HelloService.svc' a causa di un'eccezione durante la compilazione. Messaggio dell'eccezione: Impossibile trovare un indirizzo di base corrispondente allo schema net.tcp per l'endpoint con binding NetTcpBinding. Gli schemi degli indirizzi di base registrati sono [http]..]   System.Runtime.AsyncResult.End(IAsyncResult result) +390   System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +174   System.ServiceModel.Activation.ServiceHttpModule.EndProcessRequest(IAsyncResult ar) +26   System.Web.AsyncEventExecutionStep.InvokeEndHandler(IAsyncResult ar) +156   System.Web.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar) +123</pre></code>                  </td>               </tr>            </table>            <br>            <hr width=100% size=1 color=silver>            <b>Informazioni di versione:</b>ÿVersione di Microsoft .NET Framework:4.0.30319; Versione di ASP.NET:4.7.2556.0            </font>    </body></html><!-- [InvalidOperationException]: Impossibile trovare un indirizzo di base corrispondente allo schema net.tcp per l'endpoint con binding NetTcpBinding. Gli schemi degli indirizzi di base registrati sono [http].   in System.ServiceModel.ServiceHostBase.MakeAbsoluteUri(Uri relativeOrAbsoluteUri, Binding binding, UriSchemeKeyedCollection baseAddresses)   in System.ServiceModel.Description.ConfigLoader.LoadServiceDescription(ServiceHostBase host, ServiceDescription description, ServiceElement serviceElement, Action`1 addBaseAddress, Boolean skipHost)   in System.ServiceModel.ServiceHostBase.LoadConfigurationSectionInternal(ConfigLoader configLoader, ServiceDescription description, ServiceElement serviceSection)   in System.ServiceModel.ServiceHostBase.ApplyConfiguration()   in System.ServiceModel.ServiceHost.ApplyConfiguration()   in System.ServiceModel.ServiceHostBase.InitializeDescription(UriSchemeKeyedCollection baseAddresses)   in System.ServiceModel.ServiceHost.InitializeDescription(Type serviceType, UriSchemeKeyedCollection baseAddresses)   in System.ServiceModel.ServiceHost..ctor(Type serviceType, Uri[] baseAddresses)   in System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(Type serviceType, Uri[] baseAddresses)   in System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses)   in System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)   in System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity)   in System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)[ServiceActivationException]: Impossibile attivare il servizio '/HelloService.svc' a causa di un'eccezione durante la compilazione. Messaggio dell'eccezione: Impossibile trovare un indirizzo di base corrispondente allo schema net.tcp per l'endpoint con binding NetTcpBinding. Gli schemi degli indirizzi di base registrati sono [http]..   in System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)   in System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result)   in System.ServiceModel.Activation.ServiceHttpModule.EndProcessRequest(IAsyncResult ar)   in System.Web.HttpApplication.AsyncEventExecutionStep.InvokeEndHandler(IAsyncResult ar)   in System.Web.HttpApplication.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar)-->--.

    martedì 16 gennaio 2018 16:51

Tutte le risposte