سؤال

ولدي 3 التطبيق المستويات: طبقة 1ST: SQL DB. طبقة 2ND: التطبيق سيفر (DOTNET) 3RD طبقة: عميل برنامج الأغذية العالمي الذكية

وأنا باستخدام NHibarnate (بطلاقة) كمصدر بيانات لطبقة خادم التطبيق (كونا server- محادثات طبقة 2ND إلى DB باستخدام NH)

ومحادثات طبقة التطبيقات إلى العميل باستخدام رأس المال العامل.

هل يمكنني الاستفادة أي شيء من استخدام NH - كما WCF لا يدعم NH تحميل كسول (على الأقل لا يبدو مثل هذا) و- إذا كنت تستخدم كائن جلسة ثابت - لقد جعل المقام خادم واحد واحد التزامن - على خلاف ذلك الامور فوضى داخل NH عندما تأتي أكثر من مكالمة واحدة في نفس الوقت. إذا قمت بفتح كائن جلسة (NH) لكل دعوة وإغلاقه في نهاية المكالمة - I تفقد ذاكرة التخزين المؤقت NHibarante مستوى 1 ...

وهكذا - والسؤال هو - أنا تنفيذ NH الخطأ؟ أم أنه ليس من المفترض أن تكون فعالة في بلدي النوع من المشاريع؟

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

المحلول

وأنت قد ترغب في التحقق من uNhAddIns WCF مشروع . ويستخدم جلسة لكل مكالمة، لأن ذلك هو السبيل الموصى بها للذهاب مع WCF.

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

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