Autofac将NLog实例注入到有线服务端的每个DataContract中

时间:2018-08-24 08:50:25

标签: c# wcf autofac nlog datacontract

使用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();
}

0 个答案:

没有答案