Используя WCF, у меня есть DataContract
эквивалентность в месте на стороне клиента и бизнеса (услуги). Я просто хочу, чтобы экземпляр NLog внедрялся в каждый DataContract
w.r.t его собственного типа через Autofac.
Я перешел по этой ссылке , но похоже, что этот подход работает только при использовании контейнера Autofac для разрешения этого типа. В моем сценарии AssemblyFunctionLibrary
экземпляр создается WCF внутри, даже без вызова конструктора.
Мой вопрос: как я могу внедрить экземпляр Logger в каждый DataContract
с его собственным типом?
[Serializable]
[DataContract]
public class AssemblyFunctionLibrary : EndPoint
{
public Logger Logger { get; set; }
[DataMember]
public string LibraryPath { get; set; }
}
Регистрация Autofac
builder.RegisterModule<NLogModule>();
foreach (var assembly in KnownTypesFinder.GetPluginAssemblies())
{
builder.RegisterAssemblyTypes(assembly)
.AsSelf()
.PropertiesAutowired();
}