-
Notifications
You must be signed in to change notification settings - Fork 29
Description
I have followed the WIKI trying to create a ASP.NET Web Api project with Owin.Scim.
Once running on localhost, the only endpoint that ASP.NET can discover is v2/resourcetypes. When trying to access this endpoint, i recieve the following error;
<Error> <Message>An error has occurred.</Message> <ExceptionMessage> An error occurred when trying to create a controller of type 'ResourceTypesController'. Make sure that the controller has a parameterless public constructor. </ExceptionMessage> <ExceptionType>System.InvalidOperationException</ExceptionType> <StackTrace> ved System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType) ved System.Web.Http.Controllers.HttpControllerDescriptor.CreateController(HttpRequestMessage request) ved System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__15.MoveNext() </StackTrace> <InnerException> <Message>An error has occurred.</Message> <ExceptionMessage> Typen 'Owin.Scim.v2.Endpoints.ResourceTypesController' har ikke en standardkonstruktør </ExceptionMessage> <ExceptionType>System.ArgumentException</ExceptionType> <StackTrace> ved System.Linq.Expressions.Expression.New(Type type) ved System.Web.Http.Internal.TypeActivator.Create[TBase](Type instanceType) ved System.Web.Http.Dispatcher.DefaultHttpControllerActivator.GetInstanceOrActivator(HttpRequestMessage request, Type controllerType, Func1& activator) ved System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType)
`
All of the other endpoints (v2/Users, etc.) returns 404.
My Startup.cs looks like this;
` var config = new HttpConfiguration();
config.Routes.MapHttpRoute(
"DefaultApi",
"api/{controller}/{id}",
new { id = RouteParameter.Optional });
var builder = new ContainerBuilder();
builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
builder.RegisterType<UserRepository>().AsSelf();
builder.RegisterType<GroupRepository>().AsSelf();
var container = builder.Build();
config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
appBuilder.UseAutofacMiddleware(container);
appBuilder.Map("/scim", app =>
{
app.UseScimServer(new Predicate<FileInfo>[] {fileInfo => fileInfo.Name.Equals("MyScimProject")},
configuration =>
{
configuration.RequireSsl = false; // disable SSL requirements
configuration.EnableEndpointAuthorization = false; // disable authentication requirements
configuration.DependencyResolver = new FuncDependencyResolver(type => container.Resolve(type));
});
});
appBuilder.UseAutofacWebApi(config);
appBuilder.UseWebApi(config);`