Olá pessoal, Criei este Filter
using NHibernate;
using Ninject;
using Ninject.Web.Mvc;
using Ninject.Web.Mvc.FilterBindingSyntax;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http.Filters;
using System.Web.Mvc;
namespace LojaWeb.Filters
{
public class TransactionFilter : ActionFilterAttribute // erro aqui
{
private ISession session;
public TransactionFilter(ISession session)
{
this.session = session;
}
public override void OnActionExecuting(ActionExecutingContext contexto)
{
session.BeginTransaction();
}
public override void OnActionExecuted(ActionExecutedContext contexto)
{
if (contexto.Exception == null)
{
session.Transaction.Commit();
}
else
{
session.Transaction.Rollback();
}
session.Close();
}
}
}
E também este Filter, uma vez que nao é explicado de forma alguma onde colocar este código
using System;
using Ninject.Web.Mvc.FilterBindingSyntax;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Ninject;
using System.Web.Http.Filters;
namespace LojaWeb.Filters
{
public class NinjectWebCommon
{
private static void RegisterServices(IKernel kernel)
{
// registro dos outros componentes
int ordemExecucao = 1;
kernel.BindFilter<TransactionFilter>(FilterScope.Global, ordemExecucao);
}
}
}
Fiz a retificacao nos DAO
A pergunta está totalmente confusa. V i que outra pessoa postou perguntando onde por o código e nao recebeu resposta lucida.
Entao fiz da forma mencionada acima...
Error 17 'ActionFilterAttribute' is an ambiguous reference between 'System.Web.Http.Filters.ActionFilterAttribute' and 'System.Web.Mvc.ActionFilterAttribute' C:\Users\graziela\Desktop\Alura\NHibernate\LojaWeb\LojaWeb\Filters\TransactionFilter.cs 16 38 LojaWeb
Agradeco ajuda