使用WCF,我在客户端和业务(服务)端具有DataContract
等效项。我只是希望通过Autofac在每个DataContract
自己的类型中注入NLog实例。
我遵循了这个link,但是看来这种方法仅在使用Autofac容器解析此类型时才可行。在我的场景中,AssemblyFunctionLibrary
实例是WCF内部创建的,甚至没有调用构造函数。
我的问题是我怎么可能在每个DataContract
中使用自己的类型注入Logger实例?
[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();
}