NHibernate Session-per-request and MiniProfiler.NHibernate 前言 1.本文以mvc3为例,借鉴开源项目 NerdDnner项目完成nhibernate中的 Session-per-request 模式,本文创建了一个自定义的httpmodel类,来实现在http请求的时候创建并开启一个session并绑定到CurrentSessionContext中,当请求完成以后关闭,同时包含对事物的处理. 2.利用MiniProfiler.NHibe…
摘要 NHibernate的Session的管理涉及到NHibernate的两个最重要的对象ISessionFactory和ISession.ISessionFactory的生成非常消耗资源,通常都在应用程序启动的时候生成,并使用单例模式,被应用程序的所有线程共享.ISession的生成虽然没有ISessionFactory那么消耗资源,但是Session中保存了一级缓存池,如果每次使用到ISession的时候都生成新的ISession对象,而且这样的操作频率很大的时候,也会一定程度上大量消耗内…
前面的两篇反应很差:没评论没赞.很伤心啊,为什么呢?搞得我好长一段时间都没更新了——呵呵,好吧,我承认,这只是我的借口.不过,还是希望大家多给反馈.没有反馈,我就只能猜了:前面两篇是不是写得太“粗”了一点?所以这一篇我们尽量详细点吧. Session Per Request是什么 这是一个使用NHibernate构建Web项目惯用的模式,相关的文章其实很多.我尽量用我的语言(意思是大白话,但可能不精确)来做一个简单的解释. 首先,你得明白什么是session.这不是ASP.NET里面的那个ses…
摘要 上一篇文章介绍了NHibernate HQL,他的缺点是不能够在编译时发现问题.如果数据库表结构有改动引起了实体关系映射的类有改动,要同时修改这些HQL字符串.这篇文章介绍NHibernate面向对象的Criteria查询.他提供了很多API接口,可以实现“私人订制”式的面向对象查询. 作为对照,本篇文章将上篇文章的八个HQL查询全部用Criteria查询写一遍,读者可以自己感受下他们之间的区别. 本篇文章的代码可以到NHibernate查询下载 1.创建Criteria对象,查询所有Cu…
摘要 这篇文章介绍了如何创建一个简单的使用NHibernate的控制台应用程序,包括使用NuGet.简单的配置.单表映射.对NHibernate配置文件添加智能提示.使用ISessionFactory和ISession. 1. 环境准备 Visual Studio 2015.SQL Server 2008或者SQL Server 2008 R2. 2. 创建工程 1)创建空控制台应用程序NHibernateDemoApp. 2)添加NHibernate到工程.右键NHibernateDemoAp…
NHibernate 数据查询之Linto to NHibernate (第八篇) 刚学NHibernate的时候觉得,HQL挺好用的,但是终归没有与其他技术 相关联,只有NHibernate用到,一来容易忘记,二来没有智能提示,排除错误什么的都不给力,直到看到一个同事用Linq to NHibernate,那代码是相当的清晰明了,其实什么条件查询,HQL什么的感觉只是一个NHibernate用到,很容易忘记.而SQL跟Linq 是经常用的东西,还是SQL和Linq比较划算.今天就来写下Linq…
Server Error in '/' Application. Unable to make the session state request to the session state server. Please ensure that the ASP.NET State service is started and that the client and server ports are the same.  If the server is on a remote machine, p…
package com.hanqi.action; import java.util.Map; import com.opensymphony.xwork2.ActionContext; public class TestAction { //解耦方式 //封装了WEB资源 //使用ActionContext @SuppressWarnings("unchecked") public String testweb() { //访问web资源 System.out.println(&qu…
package com.hanqi.action; import java.util.Map; import com.opensymphony.xwork2.ActionContext; public class TestAction { //解耦方式 //封装了WEB资源 //使用ActionContext @SuppressWarnings("unchecked") public String testweb() { //访问web资源 System.out.println(&qu…
错误描述: Unable to make the session state request to the session state server. Please ensure that the ASP.NET State service is started and that the client and server ports are the same.  If the server is on a remote machine, please ensure that it accept…