1

グーグルであまり見つけられなかったので、ここでロングショット。

WebAPI プロジェクトで EF を使用して作業単位とリポジトリ パターンを使用し、IoC を管理するために Ninject を使用しています。複数のファイルのアップロードを処理するために、ファイルの処理には機能しますが、DB に保存しない非同期メソッドがあります。

問題は、ファイルを引き出すために await が呼び出されたときに OnActionExecuted の Unit of Work フィルターが起動することです。

var files = await _fileHandler.SaveMultipartStream();

public class UnitOfWorkCommitAttribute : ActionFilterAttribute
{
    private IUnitOfWork _uow;

    public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
    {
        _uow = actionExecutedContext.Request.GetDependencyScope().GetService(typeof(IUnitOfWork)) as IUnitOfWork;

        if (actionExecutedContext.Exception == null)
        {
            _uow.Commit();
        }
    }
}

この効果を補うためにアプローチを改善または調整する方法はありますか? どんな提案でも大歓迎です!

4

0 に答える 0