ما هي دورة الإدارة الاستراتيجية NHibernate في تطبيقات سطح المكتب?

StackOverflow https://stackoverflow.com/questions/90530

سؤال

أجد أنه أكثر من ذلك بكثير من الصعب على إدارة جلسة العمل الخاصة بك في تطبيقات سطح المكتب ، لأنه لا يمكن الاستفادة من مثل هذه واضحة bondary مثل HttpContext.إذا كيف يمكنك إدارة دورة حياة للاستفادة من تحميل كسول ولكن دون وجود دورة واحدة فتح كامل التطبيق ؟

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

المحلول

اعتقد انها تتلخص في تصميم الأشياء الخاصة بك.لأنه كسول التحميل لا يمكن أن تطبق في كل كائن المستوى, يمكنك الاستفادة من هذا الواقع عندما كنت تفكر في إدارة الدورة.

على سبيل المثال, لدي مجموعة من الكائنات التي هي الغنية بالبيانات و تحميل كسول, و لدي شبكة/عرض ملخص و تفاصيل عرض لهم.في الشبكة-عرض ملخص, أنا لا استخدم كسول-تحميل نسخة من الكائن.يمكنني استخدام مركب كائن إلى تقديم تلك البيانات ، وأن البديل هو كائن لا كسول تحميلها.

من ناحية أخرى, مرة يختار المستخدم الذي سجل عرض/تحرير و إدخال متعدد الصفحات التفاصيل نظر من وجوه ، عندما نطبق كسول التحميل إلى كائن معين.البيانات الآن كسول تحميل اعتمادا على التفاصيل ينظر إليها إلا على الطلب.بهذه الطريقة نطاق بلدي الدورة مفتوحة تحميل كسول يدوم فقط طالما تفاصيل عرض يتم استخدامه.

نصائح أخرى

كما قلت من قبل, لا يمكنك استخدام حدود HttpRequest ، ولكن هل يمكن أن نفهم ما هو "HttpRequest" في تطبيق سطح المكتب.

اسمحوا لي أن أشرح.عادة HttpRequest سوف يكون وحدة تحكم عن العمل وسوف الحد الدورة إلى أن إجراءات محددة.الآن في تطبيق سطح المكتب "تحكم" (الأحداث) يمكن أن يكون أصغر حجما ، ولكن @جون وقال: نافذة يمكن بسهولة تمثل الحدود:يمكنك العمل مع الأشياء هناك ، والسماح لهم يكون على جلسة العمل الخاصة بك.

ربما يمكننا أن نفكر في أمر نمط اقامة.كل ما الخط الثالث فهو استخدام الحدث تغذية و يؤدي الأمر وتنفيذه.قاعدة AbstractCommand.تنفيذ() التنفيذ هو المسؤول عن تهيئة الدورة التفاف الصفقة ، واصفا ملموسة SomeCommand._Execute() تنفيذ وإغلاق جميع الأشياء.

على أي حال, هذا هو أبعد من أن استمرار الملحد ، كما يجب أن تكون عندما كنت قد حملت وجوه بلدي و أنا (أريد أن) التعامل فقط مع عادي الحالات (أنا مصممة خصيصا مشيرا إلى كسول التحميل من هنا).

هل هو خلاف ذلك من الممكن لتنفيذ بعض نوع من السيارات-فتح/إغلاق تلقائي السلوك ؟ وينبغي أن يتحقق ذلك من خلال جعل استمرار طبقة حساسة احتياجات استفسارات أعلى طبقات ، حتى في الضمني الحالات مثل كسول-تحميل المشغلات.أما بالنسبة إغلاق اتصال استمرار طبقة قد أغلق بعد إعطاء مهلة (10 ثواني) DB الخمول.أعرف أن هذه ليست حادة.ولكن هذا من شأنه أن يجعل حقا أعلى طبقات استمرار الملحد.

شكرا مارسيلو

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