這是我第一個使用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時服務器上的套接字錯誤
這是我如何配置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;
}
我不知道這是真的,如果我的應用程序的錯誤或由於內存限制,這是服務器錯誤,因爲它不會在我的計算機中發生,而且有時只發生在服務器上。