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

ただし、TranslationServiceStringSourceをAutoFacで管理できるようにすると便利です。

于 2013-03-19T19:49:09.427 に答える