Ist es möglich, in Unity den Typ des Dienstes zu erhalten, in den die Abhängigkeit injiziert wird?Unity get Art des Dienstes, in den die Abhängigkeit injiziert wird
In Ninject
können Sie es wie folgt tun:
kernel.Bind<ILogger>().ToMethod((context) =>
{
ILogger logger = HttpContextLoggerFactory.GetInstance();
// Eg: MyApplication.PeopleRepository
string memberType = context?.Request?.Target?.Member?.DeclaringType?.FullName;
return new LoggerMemberTypeDecorator(logger, memberType);
});
Wie kann die gleiche Sache in Unity
umgesetzt werden? Hier
ist das, was ich habe, aber ich habe keinen Zugang zu context
container.RegisterType<ILogger>(new InjectionFactory(u =>
{
ILogger logger = HttpContextLoggerFactory.GetInstance();
// how to get it?
string memberType = "";
return new LoggerMemberTypeDecorator(logger, memberType);
});
https://stackoverflow.com/questions/6846342/how-to-inject-log4net-ilog-implementations-using-unity-2 -0 –
Die jeweilige Antwort Es ist nicht anwendbar – Catalin