0

代码部分 使用程序集注入时可以使用 EnableInterfaceInterceptors()。注册配置文件时如何启用拦截器。

    var config = new ConfigurationBuilder().AddXmlFile("AutoFac.config").Build();
    var module = new ConfigurationModule(config);
    var builder = new ContainerBuilder();
    builder.RegisterModule(module);
    var container = builder.Build();

配置文件

<autofac defaultAssembly="Test.Multilingual.IService">
  <components name="0">
    <type>Test.Multilingual.Service.TestMessage, Test.Multilingual.Service</type>
    <services name="0" type="Test.Multilingual.IService.ITestMessage" />
    <injectProperties>true</injectProperties>
    <instanceScope>perlifetimescope</instanceScope>
  </components>
  <components name="1">
    <type>Test.Multilingual.LanguageChoiceForm, Test.Multilingual</type>
    <injectProperties>true</injectProperties>
  </components>
  <components name="2">
    <type>Test.Multilingual.MainForm, Test.Multilingual</type>
    <injectProperties>true</injectProperties>
  </components>
  <components name="3">
    <type>Test.Multilingual.BaseForm, Test.Multilingual</type>
    <injectProperties>true</injectProperties>
  </components>
  <components name="4">
    <type>Test.Multilingual.PopForm, Test.Multilingual</type>
    <injectProperties>true</injectProperties>
  </components>
  <components name="5">
    <type>Test.Multilingual.Core.MultilingualInterceptor, Test.Multilingual.Core</type>
    <injectProperties>true</injectProperties>
  </components>
</autofac>

如何启用拦截器??????

4

1 回答 1

0

Autofac 配置不支持拦截器。

文档中所述

在深入研究 JSON/XML 配置之前,请务必阅读 模块 - 这解释了如何处理比基本 JSON/XML 组件注册所允许的更复杂的场景。JSON/XML 中的配置不是程序化配置的功能替代,因此复杂的场景可能需要 JSON/XML 和模块的组合。

于 2021-01-27T14:15:39.480 回答