سؤال

ولدي تطبيق Asp.Net MVC الذي يعمل في خادم الويب تطوير vs.net. عندما نشر لIIS7 أحصل على الخطأ التالية. لقد قضيت ساعات طويلة وحتى الآن أي حل!

 [NullReferenceException: Object reference not set to an instance of an object.]
   System.Web.PipelineStepManager.ResumeSteps(Exception error) +929
   System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb) +91
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +508

وهنا هو Application_Start

protected void Application_Start()
        {


                ConfigureLogging();


                ComponentRegistrar.RegisterComponents();


                NHibernateSession.InitSqlServer2005(new WebSessionStorage(this), Settings.Default.DefaultConnString);


                CacheManager.InitCaches();

            }
        }

وجئت في وقت متأخر لهذا الطلب، ولا أعرف أفضل الممارسات من MVC وNHibernate

هل كانت مفيدة؟

المحلول

وأنت غير قادر على تكوين nhibernate في بداية التطبيق. أنا لا أعرف بالضبط لماذا، ولكن كان أيضا هذه المشكلة.

ويمكنك تهيئة أنه في التهيئة (). كما يمكنك ان ترى ان يتم ذلك هنا http://code.google.com/p/sharp-architecture/source/checkout

نصائح أخرى

ونقل لي nhibernate رمز التهيئة من Application_Start () لالتهيئة () لا يزال لم يتم تشغيل في وقت متأخر ما يكفي لإصلاح الخطأ. لذلك أنا عثر عليها هذا . وكان الحل اعتدت على لا من منصبه الأصلي ، لكن أول تعليق من قبل jbland. في الأساس وهو يتحرك تهيئة nhibernate حدوث على الطلب الأول.

وشيء واحد هو أن نلاحظ كود له لا تعطيك سياق حيث يأتي webSessionStorage من. فمن متغير عضو، ويجب أن يكون مثيل في التهيئة ().

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top