Errore 500 del Server hosting WCF

Forse mi può aiutare, perché io sono davvero in perdita qui.

Sto cercando di ospitare il mio servizio WCF su IIS in un sottodominio.

Per iniziare, ecco la mia struttura di file:

http://s18.postimage.org/eqmjxb00n/Serv.jpg

All’interno del contenitore sono i miei .dll rappresentare la mia interfaccia e implementazione.

Qui è il web.file di configurazione:

<?xml version="1.0"?>
<configuration>

  <system.web>
    <compilation debug="false" targetFramework="4.0" />
  </system.web>    
    <system.serviceModel>
        <services>
            <service name="AuthenticatorService.Authenticator">
                <endpoint address="" binding="basicHttpBinding" bindingConfiguration=""
                    name="AuthEndpoint" contract="AuthInterface.IAuthenticator" />
                <endpoint address="" binding="mexHttpBinding" name="MetadataEndpoint"
                    contract="IMetadataExchange" />
            </service>
        </services>
        <behaviors>
            <serviceBehaviors>
                <behavior>
                    <serviceMetadata httpGetEnabled="True"/>
                    <serviceDebug includeExceptionDetailInFaults="False" />
                </behavior>
            </serviceBehaviors>
        </behaviors>
    </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

</configuration>

Funziona in locale ma quando faccio l’upload di IIS si dà solo 500 gli errori del server.

Grazie!

Se è qualsiasi uso, ecco il messaggio di errore dettagliati pagina:

Module  ServiceModel-4.0
Notification    AuthenticateRequest
Handler svc-Integrated-4.0
Error Code  0x00000000
Requested URL   http://service.swiftposter.com:80/auth.svc
Logon Method    Anonymous
Logon User  Anonymous

Edit: ho abilitato ELMAH di registrazione e, infine, ha una significativa messaggio:

System.ArgumentException: This collection already contains an address with scheme http. There can be at most one address per scheme in this collection. If your service is being hosted in IIS you can fix the problem by setting 'system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled' to true or specifying 'system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters'. Parameter name: item

Im andando a iniziare la ricerca di questo errore, ma ho postato qui solo nel caso in cui qualcuno sa che cosa è sbagliato.

Stack Trace:

System.ServiceModel.ServiceActivationException: The service '/auth.svc' cannot be activated due to an exception during compilation.  The exception message is: This collection already contains an address with scheme http.  There can be at most one address per scheme in this collection. If your service is being hosted in IIS you can fix the problem by setting 'system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled' to true or specifying 'system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters'.
Parameter name: item. ---> System.ArgumentException: This collection already contains an address with scheme http.  There can be at most one address per scheme in this collection. If your service is being hosted in IIS you can fix the problem by setting 'system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled' to true or specifying 'system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters'.
Parameter name: item
   at System.ServiceModel.UriSchemeKeyedCollection.InsertItem(Int32 index, Uri item)
   at System.Collections.Generic.SynchronizedCollection`1.Add(T item)
   at System.ServiceModel.UriSchemeKeyedCollection..ctor(Uri[] addresses)
   at System.ServiceModel.ServiceHost..ctor(Type serviceType, Uri[] baseAddresses)
   at System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(Type serviceType, Uri[] baseAddresses)
   at System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses)
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService(String normalizedVirtualPath)
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath)
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
   --- End of inner exception stack trace ---
   at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
   at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result)
   at System.ServiceModel.Activation.ServiceHttpModule.EndProcessRequest(IAsyncResult ar)
   at System.Web.HttpApplication.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar)
  • Non accade nulla quando si distribuisce in IIS? Hai citato qualche errore 500 del server nel titolo della domanda. Ci puoi raccontare un po ‘ di più su di esso?
  • Mi dispiace, da non succede nulla, volevo dire che non funziona. Si continua mi dà 500 errori del server.
  • è l’ .net versione di app-piscina definito di destra, sono File/Database rilasciato con le giuste credenziali, se applicabile. diversi problemi possono essere il problema. Hai qualche info in più?
  • È impostato a 4.0 e tutti i file sono accessibili
  • Questo vecchio thread, si è dimostrato utile per me di grande tempo. Il mio sito ha un legacy asp.net app insieme alcuni servizi WCF questi servizi WCF sono in esecuzione bene per diversi anni, ma ha smesso di funzionare all’improvviso, a metà giornata di ieri. Dopo un paio di ore di cercare roba invano, si è imbattuto in TheGateKeeper la risposta di sopra, applicata, e che risolto il mio problema. Nel caso In cui questo aiuta chiunque – io non sono al 100% certo la causa principale di questo, ma questa è la mia ipotesi migliore come di questa scrittura: – il mio WCF servizi eventualmente richiesti il multipleSiteBindingsEnabled essere impostato

 

3 Replies
  1. 3

    Ho risolto l’errore aggiungendo questo al mio web.config.

    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

    Credo che questo è accaduto perché ho avuto 2 associazioni che si sia utilizzato il protocollo http. Forse qualcun altro può elaborare.

  2. 0

    Errore 500 identifica qualsiasi tipo di errori del server… tenta di accedere al servizio da localhost (impostazioni di default di IIS mostra gli errori solo a livello locale).

    Anche provare a modificare le impostazioni di IIS su “Invia errori al browser”
    o
    In Internet Information Services (IIS) Manager > Web > Pagine di Errore > proprietà e selezionare Dettagli errori

    In questo modo, si può vedere il vero errore generato dal servizio.

    Verificare, inoltre, che, in applicazione della piscina, la corretta versione del framework è selezionato

    • Ho già provato abilitare errori. Mi dà nessuna info di qualsiasi tipo generale errori.
  3. 0

    Tuo indirizzo del servizio e metadati del servizio indirizzo non dovrebbe essere lo stesso. Dovrebbe essere come:

    <system.serviceModel>
     <services>
       <service name="AuthenticatorService.Authenticator">
          <endpoint address="" binding="basicHttpBinding" bindingConfiguration=""
                    name="AuthEndpoint" contract="AuthInterface.IAuthenticator" />
           <endpoint address="mex" binding="mexHttpBinding" name="MetadataEndpoint"
                    contract="IMetadataExchange" />
       </service>
      </services>
      ...
    </system.serviceModel>

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

    • Ciao, ho provato con l’impostazione dell’indirizzo di proprietà, ma ancora non funziona. Stesso errore.
    • Non sono sicuro, ma può controllare questo blog? Simile errore come il tuo. [net.micheltol.nl/post/…

Lascia un commento