Я пытаюсь использовать этот проект из образцов IdentityServer3, https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/Clients/SampleAspNetWebApi для веб-служб API, и я хотел бы использовать Unity, как мой Dependency Injection стратегии, и я получил его от NuGet пакета «Unity.WebApi», поэтому он создает новый файл внутри моей папки app_start, где мы должны регистрировать наши типы, в моем случае у меня есть только один интерфейс. как этотUnity с Web API образца IdentityServer3
var container = new UnityContainer();
container.RegisterType<IApp, AppService>();
GlobalConfiguration.Configuration.DependencyResolver = new UnityDependencyResolver(container);
и в моем Apicontroller только один конструктор
private readonly IApp _App;
private TDataController(IApp app)
{ _App = app; }
и это мой метод конфигурации в классе запуска
public void Configuration(IAppBuilder app)
{
JwtSecurityTokenHandler.InboundClaimTypeMap = new Dictionary();
app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
{
Authority = "https://localhost:44333/core",
RequiredScopes = new[] { "write" }
});
UnityConfig.RegisterComponents();
app.UseWebApi(WebApiConfig.Register());
}
Так, очень просто, не так ли? Но я не знаю, что я пропускаю, потому что дело в том, что, когда я пытаюсь вызвать одно простое действие из моего контроллера он выдает мне ошибку:
{"Message":"An error has occurred.","ExceptionMessage":"An error occurred when trying to create a controller of type 'TDataController'. Make sure that the controller has a parameterless public constructor.","ExceptionType":"System.InvalidOperationException","StackTrace":" at ..................
PS: Если Доминик Байера прочитал этот вопрос Я хотел бы извиниться за свой пост в своем трекере.