public IHttpController Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType) { if (controllerType == typeof(NuGetGatewayController)) { return(new NuGetGatewayController()); } else { var activator = new DefaultHttpControllerActivator(); return(activator.Create(request, controllerDescriptor, controllerType)); } }
private void Create_ThrowsForNullDependencyScope_Impl(IDependencyResolver resolverOrig) { IDependencyResolver resolver2 = new DependencyResolverWrapper(inner: resolverOrig, allowBeginScope: false); // Arrange HttpConfiguration config = new HttpConfiguration(); config.DependencyResolver = resolver2; HttpRequestMessage request = new HttpRequestMessage(); request.SetConfiguration(config); HttpControllerDescriptor descriptorSimpleController = new HttpControllerDescriptor(config, "Simple", typeof(SimpleController)); DefaultHttpControllerActivator activator = new DefaultHttpControllerActivator(); // Act & Assert try { IHttpController controller = activator.Create(request, descriptorSimpleController, typeof(SimpleController)); true.ShouldBeFalse("Method did not throw an exception."); } catch (InvalidOperationException ioEx) { ioEx.Message.ShouldBe("An error occurred when trying to create a controller of type 'SimpleController'. Make sure that the controller has a parameterless public constructor."); // 'BeginScopeNull_DependencyResolver' // 'ObjectProxy(_\\d+)?' ioEx.InnerException.Message.ShouldBe( "A dependency resolver of type '" + nameof(DependencyResolverWrapper) + "' returned an invalid value of null from its " + "BeginScope method. If the container does not have a concept of scope, consider returning a scope " + "that resolves in the root of the container instead." ); } }
public MyHttpControllerActivator() { this.defaultActivator = new DefaultHttpControllerActivator(); }
public ControllerActivator(DefaultHttpControllerActivator defaultHttpControllerActivator) { this.defaultHttpControllerActivator = defaultHttpControllerActivator; }
public NHibernateSessionPerRequestControllerActivator() { _defaultActivator = new DefaultHttpControllerActivator(); }
public UmbracoWebApiHttpControllerActivator() { this._defaultHttpControllerActivator = new DefaultHttpControllerActivator(); }