0

我们刚刚开始使用 FluentValidation 并关注这篇文章以允许我们使用我们的全球化值: http: //fluentvalidation.codeplex.com/discussions/394471

然而,我们被困在如何获得对包含我们现有全球化价值观的翻译服务接口的引用。这包含在一个单独的项目中,因为它不直接与 ASP.NET MVC 耦合,因此我们不能使用 DependencyResolver。

有谁知道我们可以将 Interface 或 autofac 容器放入 TranslationServiceStringSource 类以用于获取翻译值的方法?

4

1 回答 1

-1

我假设在某处你有一些类似于:

var container = builder.Build();
var resolver = new AutofacDependencyResolver(container);
DependencyResolver.SetResolver(resolver);

如果您将对该容器的引用存储在某处,我通常会在 MvcApplication 类 (global.asax.cs) 中创建一个引用:

public static IContainer Container { get; set; }

那么你就可以:

public TranslationServiceStringSource(string text) {
    _text = text;
    _translator = new MvcApplication.Container.Resolve<ITranslationService>(); 
}

虽然让翻译服务字符串源由 AutoFac 管理会很好。

于 2013-03-19T19:49:09.427 回答