¿Cómo puedo depurar un 'proveedor de suscripciones por defecto no se pudo encontrar' error con WCF y un proveedor de suscripciones personalizado de ASP.NET?

StackOverflow https://stackoverflow.com/questions/2325688

Pregunta

Esto es un problema para mí con .Net 3.5 SP1 que se ejecuta en IIS7.5 64 bits (He intentado forzar a 32 bits, pero dieron el mismo resultado).

Tengo un servicio de WCF que quiero utilizar la autenticación de los servicios con. Cuando no tengo el comportamiento de las pinturas de servicios WCF (respuestas) sin ningún error. Otros servicios también trabajan con otros comportamientos

En cuanto añado userNameAuthentication al comportamiento especificando un MembershipProvider personalizado para la autenticación a un servicio ...

  <serviceCredentials>
    <!-- Configure user name authentication to use the Membership Provider -->
    <userNameAuthentication userNamePasswordValidationMode ="MembershipProvider"
                            membershipProviderName ="MembershipService"/>
  </serviceCredentials>

El servicio explota y devuelve el siguiente error:

 Parser Error Message: Default Membership Provider could not be found.
 Source Error: 
 Line 49:     </authentication>
 Line 50:     
 Line 51:     <membership defaultProvider="MembershipService" userIsOnlineTimeWindow="15">
 Line 52:       <providers>
 Line 53:         <clear/>

Registro de eventos tiene este error:

 WebHost failed to process a request.
 Sender Information: System.ServiceModel.Activation.HostedHttpRequestAsyncResult/59884855
 Exception: System.ServiceModel.ServiceActivationException: The service '/V4Service.svc' cannot be activated due to an exception during compilation.  The exception message is: Default Membership Provider could not be found. (C:\Code\SmartTrade Projects\SmartTrade.API\Web\SmartTrade.API\web.config line 50). ---> System.Configuration.ConfigurationErrorsException: Default Membership Provider could not be found. (C:\Code\SmartTrade Projects\SmartTrade.API\Web\SmartTrade.API\web.config line 50)
 at System.Web.Security.Membership.Initialize()
 at System.Web.Security.Membership.get_Providers()
 at System.ServiceModel.Configuration.UserNameServiceElement.ApplyConfiguration(UserNamePasswordServiceCredential userName)
 at System.ServiceModel.Configuration.ServiceCredentialsElement.ApplyConfiguration(ServiceCredentials behavior)
 at System.ServiceModel.Configuration.ServiceCredentialsElement.CreateBehavior()
 at System.ServiceModel.Description.ConfigLoader.LoadBehaviors[T](ServiceModelExtensionCollectionElement`1 behaviorElement, KeyedByTypeCollection`1 behaviors, Boolean commonBehaviors)
 at System.ServiceModel.Description.ConfigLoader.LoadServiceDescription(ServiceHostBase host, ServiceDescription description, ServiceElement serviceElement, Action`1 addBaseAddress)
 at System.ServiceModel.ServiceHostBase.ApplyConfiguration()
 at System.ServiceModel.ServiceHostBase.InitializeDescription(UriSchemeKeyedCollection baseAddresses)
 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)

estoy bastante seguro de que esto no es un problema con el proveedor o el proveedor de configuración que tengo este proveedor personalizado de trabajo con un sitio ASP MVC.

¿Alguna idea?

¿Fue útil?

Solución

Me empezó una nueva implementación proveedor personalizado desde cero asegurar todas las sustituciones regresaban correctamente. Mi original que pensé que estaba trabajando (que fue hace un par de meses) y resulta que ya no trabajado.

Resulta que si usted tiene el Nombre del proveedor correcto y el tipo correcto de configuración que sólo deja su aplicación proveedor personalizado.

Así que si usted tiene este problema y está seguro de que su configuración es correcta, verificar su aplicación con un simple sitio web ASP.net o ASP.net MVC.

Otros consejos

Tengo este error y finalmente descubrí que ocultos caracteres Unicode UTF8 o habían encontrado su camino en mi archivo web.config. Tenía que eliminar secciones para darse cuenta de que la sección de la aplicación cuerdas se corrompió.

Una vez que lo sustituyó de una versión anterior, se trabajó de nuevo. Algunas de las cadenas tenían espacios en blanco adicionales en los que era sospechoso, no estoy seguro de si podría haber sido de cortar y pegar o qué. Puede intente buscar en su archivo web.config con un editor hexadecimal también.

Yo tenía el mismo problema y pasé casi una semana para comprender. Mi problema era que tenía para establecer la anulación nombre de propiedad para el mismo valor que había en el nombre del proveedor del web.config. Odio cuando las soluciones más simples son tan difíciles de encontrar!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top