Autofac для внедрения экземпляра NLog в каждый DataContract на стороне обслуживания провода - PullRequest
0 голосов
/ 24 августа 2018

Используя 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();
}
...