2017-02-21 35 views
0

зарегистрировать свой экземпляр ConfigureApplicationContainer:Нэнси TinyIoc не использует экземпляр зарегистрированного

public class Bootstrapper : DefaultNancyBootstrapper 
{ 
    // The bootstrapper enables you to reconfigure the composition of the framework, 
    // by overriding the various methods and properties. 
    // For more information https://github.com/NancyFx/Nancy/wiki/Bootstrapper 
    IParameterGetSetEngine _parameterGetSetEngine; 

    public Bootstrapper(IParameterGetSetEngine parameterGetSetEngine) 
    { 
     _parameterGetSetEngine = parameterGetSetEngine; 
    } 

    protected override void ConfigureApplicationContainer(TinyIoCContainer container) 
    { 
     container.Register<IParameterGetSetEngine>(_parameterGetSetEngine); 
     base.ConfigureApplicationContainer(container); 
    } 

} 


public class ParametersModule : NancyModule 
{ 
    IParameterGetSetEngine _parameterGetSetEngine; 
    public ParametersModule(IParameterGetSetEngine parameterGetSetEngine) 
    { 
     _parameterGetSetEngine = parameterGetSetEngine; 

     Get["/"] = parameters => 
     { 
      return "Test"; 
     }; 
    } 

} 

Там есть сбой, когда Нэнси пытается создать ParametersModule. Похоже, он пытается создать экземпляр ParameterGetSetEngine. Почему он не использует экземпляр, который я зарегистрировал?

Something went wrong when trying to satisfy one of the dependencies during composition, make sure that you've registered all new dependencies in the container and inspect the innerexception for more details. ---> Nancy.TinyIoc.TinyIoCResolutionException: Unable to resolve type: Nancy.NancyEngine ---> Nancy.TinyIoc.TinyIoCResolutionException: Unable to resolve type: Nancy.Routing.DefaultRequestDispatcher ---> Nancy.TinyIoc.TinyIoCResolutionException: Unable to resolve type: Nancy.Routing.DefaultRouteResolver ---> Nancy.TinyIoc.TinyIoCResolutionException: Unable to resolve type: Nancy.Routing.RouteCache ---> Nancy.TinyIoc.TinyIoCResolutionException: Unable to resolve type: WindToolsWebService.Modules.ParametersModule ---> Nancy.TinyIoc.TinyIoCResolutionException: Unable to resolve type: Portable.Controller.Parameters.ParameterGetSetEngine ---> Nancy.TinyIoc.TinyIoCResolutionException: Unable to resolve type: Portable.ConnectionManager.DeviceConnectionManager ---> Nancy.TinyIoc.TinyIoCResolutionException: Unable to resolve type: j1939PubSubClient.j1939Client ---> Nancy.TinyIoc.TinyIoCResolutionException: Unable to resolve type: System.String ---> Nancy.TinyIoc.TinyIoCResolutionException: Unable to resolve type: System.Char[] ---> System.ArgumentNullException: Value cannot be null. 

ответ