Criei a classe DAO na minha aplicação seguindo os exemplos, depois criei a classe Clientecotroller como abaixo, e quando executo o programa, vou ate o formulário digito algum nome para gravar no banco da esse erro parece que é na session que vem null.
namespace SistemaOCW.Controllers
{
public class ClienteController : Controller
{
public ActionResult Form()
{
return View();
}
//
// GET: /Cliente/
public ActionResult Index()
{
return View();
}
public ActionResult Adiciona(Cliente cliente)
{
ISession session = NHibernateHelper.AbreSession();
ClienteDAO clienteDao = new ClienteDAO(session);
Cliente novoCliente = new Cliente();
clienteDao.Adiciona(novoCliente);
session.Close();
return RedirectToAction("Index");
}
}
}
namespace SistemaOCW.DAO
{
public class ClienteDAO
{
private ISession session;
public ClienteDAO(ISession session)
{
this.session = session;
}
public void Adiciona(Cliente cliente)
{
NHibernate.ITransaction transacao = session.BeginTransaction();
session.Save(cliente);
transacao.Commit();
}
// public Cliente BuscaPorId(int id)
// {
// return session.Get<Cliente>(id);
// }
}
}
System.TypeInitializationException não foi manipulada pelo código do usuário
HResult=-2146233036
Message=O inicializador de tipo de 'SistemaOCW.Infra.NHibernateHelper' acionou uma exceção.
Source=SistemaOCW
TypeName=SistemaOCW.Infra.NHibernateHelper
StackTrace:
em SistemaOCW.Infra.NHibernateHelper.AbreSession()
em SistemaOCW.Controllers.ClienteController.Adiciona(Cliente cliente) na d:\OCW\SistemaOCW\SistemaOCW\Controllers\ClienteController.cs:linha 31
em lambda_method(Closure , ControllerBase , Object[] )
em System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
em System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
em System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
em System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()
em System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
InnerException: NHibernate.Cfg.HibernateConfigException
HResult=-2146232832
Message=An exception occurred during configuration of persistence layer.
Source=NHibernate
StackTrace:
em NHibernate.Cfg.ConfigurationSchema.HibernateConfiguration..ctor(XmlReader hbConfigurationReader, Boolean fromAppSetting)
em NHibernate.Cfg.ConfigurationSchema.HibernateConfiguration..ctor(XmlReader hbConfigurationReader)
em NHibernate.Cfg.Configuration.Configure(XmlReader textReader)
em NHibernate.Cfg.Configuration.Configure(String fileName, Boolean ignoreSessionFactoryConfig)
em NHibernate.Cfg.Configuration.Configure(String fileName)
em NHibernate.Cfg.Configuration.Configure()
em SistemaOCW.Infra.NHibernateHelper.RecuperaConfiguracao() na d:\OCW\SistemaOCW\SistemaOCW\Infra\NHibernateHelper.cs:linha 18
em SistemaOCW.Infra.NHibernateHelper..cctor() na d:\OCW\SistemaOCW\SistemaOCW\Infra\NHibernateHelper.cs:linha 13
InnerException: System.IO.FileNotFoundException
HResult=-2147024894
Message=Não foi possível localizar o arquivo 'd:\OCW\SistemaOCW\SistemaOCW\bin\hibernate.cfg.xml'.
Source=mscorlib
FileName=d:\OCW\SistemaOCW\SistemaOCW\bin\hibernate.cfg.xml
StackTrace:
em System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
em System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
em System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize)
em System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials, IWebProxy proxy, RequestCachePolicy cachePolicy)
em System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
em System.Xml.XmlTextReaderImpl.OpenUrlDelegate(Object xmlResolver)
em System.Threading.CompressedStack.runTryCode(Object userData)
em System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
em System.Threading.CompressedStack.Run(CompressedStack compressedStack, ContextCallback callback, Object state)
em System.Xml.XmlTextReaderImpl.OpenUrl()
em System.Xml.XmlTextReaderImpl.Read()
em System.Xml.XmlTextReader.Read()
em System.Xml.XmlCharCheckingReader.Read()
em System.Xml.XsdValidatingReader.Read()
em System.Xml.XPath.XPathDocument.LoadFromReader(XmlReader reader, XmlSpace space)
em System.Xml.XPath.XPathDocument..ctor(XmlReader reader, XmlSpace space)
em System.Xml.XPath.XPathDocument..ctor(XmlReader reader)
em NHibernate.Cfg.ConfigurationSchema.HibernateConfiguration..ctor(XmlReader hbConfigurationReader, Boolean fromAppSetting)
InnerException: