这是我的第一个 NHibernate 项目,它在所有开发人员的计算机上都可以正常工作。但是当我将我的应用程序上传到我的服务器(它是一个共享服务器)时,有时(并非总是)当服务器正在初始化应用程序并初始化 NHibernate 时,我收到以下错误:An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full
. 错误恰好发生在这一行PessoaFisica user = InstitutoDaDorMVC.Helpers.LoginHelper.GetUsuarioLogado(User.Identity.Name);
,也就是使 NHibernate 在服务器中初始化的那一行。
这就是我配置 NHibernate 的方式:
cfg = new Configuration()
.SetProperty(NHibernate.Cfg.Environment.Dialect, "NHibernate.Dialect.MySQLDialect")
.SetProperty(NHibernate.Cfg.Environment.ConnectionDriver, "NHibernate.Driver.MySqlDataDriver")
.SetProperty(NHibernate.Cfg.Environment.ConnectionString, ConnString)
.SetProperty(NHibernate.Cfg.Environment.ConnectionProvider, "NHibernate.Connection.DriverConnectionProvider")
.AddAssembly("InstitutoDaDorMVC");
sessionFactory = cfg.BuildSessionFactory();
然后我有一个获取会话的方法:
public static ISession GetSession()
{
ISession currentSession = null;
currentSession = sessionFactory.OpenSession();
return currentSession;
}
我想知道这是否真的是我的应用程序的错误,或者它是否是由于内存限制而导致的服务器错误,因为它不会在我的计算机中发生并且它有时会发生在服务器上。