在服务堆栈配置中,我收到错误“找不到 IRequestLogger 类型的注册”。使用默认配置,环顾四周后,我似乎需要在配置中添加一个插件。
Plugins.Add(new RequestLogsFeature { RequiredRoles = new string[] { } });
问题是我为什么会收到这个错误?并在必要时定义 IRequestLogger。
我使用 Simple Injector 作为 IoC 容器。
编辑:这是我的 IoC 代码:
public override void Configure(Container container)
{
var simpleInjector = new SimpleInjectorContainer();
container.Adapter = simpleInjector;
Plugins.Add(new RequestLogsFeature { RequiredRoles = new string[] { } });
simpleInjector.SContainer.Register<ICacheClient, MemoryCacheClient>();
simpleInjector.SContainer.Register<IUserRepository,UserRepository>();
Routes.Add<UserRequest>("/Api/User/{Id}");
//Routes.Add<HomeResponse>("/Api/Home","GET");
}
public class SimpleInjectorContainer:ISimpleInjectorContainer
{
public SimpleInjectorContainer()
{
SContainer = new SimpleInjector.Container();
}
public SimpleInjector.Container SContainer { get; set; }
public T TryResolve<T>()
{
return (T)SContainer.GetInstance(typeof(T));
}
public T Resolve<T>()
{
return (T)SContainer.GetInstance(typeof(T));
}
}
public interface ISimpleInjectorContainer : IContainerAdapter
{
SimpleInjector.Container SContainer { get; set; }
}
谢谢。