2011-03-27 10 views
6

Tengo un servicio WCF 4 con 2 puntos finales configurados para usar wsHttpBinding y netTcpBinding. Estoy alojando el servicio dentro de IIS 7.5 usando WAS y estoy usando la extensión Ninject WCF para DI en mi servicio. Mi servicio funciona bien cuando uso el punto final wsHttpBinding para llamar a mi servicio pero falla cuando uso netTcpBinding. Cuando miro en mi registro de eventos de la aplicación me aparece el siguiente error que se detalla a continuación.Ninject WCF Extension ArgumentNullException usando NET.TCP Binding

He intentado depurar el problema en VS2010 pero no llego a ninguna parte con esto. No quiero tener que eliminar Ninject de mi servicio WCF si es posible. Entiendo que podría usar wsHttpBinding, pero este es un servicio interno y quiero obtener las mejoras de rendimiento que ofrece netTcpBindings.

WebHost failed to process a request. 
Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/3018
Exception: System.ServiceModel.ServiceActivationException: The service '/ProfileService.svc' cannot be activated due to an exception during compilation. The exception message is: Cannot be null 
Parameter name: root. ---> System.ArgumentNullException: Cannot be null 
Parameter name: root 
    at Ninject.Infrastructure.Ensure.ArgumentNotNull(Object argument, String name) in c:\Projects\Ninject\ninject\src\Ninject\Infrastructure\Ensure.cs:line 20 
    at Ninject.ResolutionExtensions.Get[T](IResolutionRoot root, IParameter[] parameters) in c:\Projects\Ninject\ninject\src\Ninject\Syntax\ResolutionExtensions.cs:line 37 
    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.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) 
    at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath) 
Process Name: w3wp 
Process ID: 8656 

¿Hay alguien por ahí que pueda ayudar con este problema? Cualquier ayuda en este sería muy apreciada.

Respuesta

4

Ver las respuestas a la misma pregunta en el grupo de noticias de Google: http://groups.google.com/group/ninject/browse_thread/thread/54108ef9e848b8f0

+0

Gracias Remo, esto era mi puesto en el grupo Ninject, lol. Pensé que publicaría en ambos para asegurarme de tener una buena cobertura de lo que pensé que podría ser un tipo de pregunta especializada para responder. Todavía estoy trabajando en eso, así que una vez que encuentre la respuesta, la publicaremos aquí para que otros puedan verla. – Cragly

Cuestiones relacionadas