سؤال

حصلت على عميل خادم و DB DB تم تعيينه إلى الخادم مع nhibernate بطلاقة.حتى الآن جيد جدًا ، يتحدث العميل مع الخادم مع WCF.أريد تنفيذ التحميل البطيء من جانب العميل.

هل هناك أي حل هناك؟

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

المحلول

وAFAIK لا يوجد حل لذلك، وتحميل كسول يعمل مع آلية وكيل nhibernate والذي هو جوهري جدا لتنفيذه. كان هناك طالب واحد مشروع Nhibernate.Remote ولكن هذا قد تم التخلي عنها. سوف nhibernate العمل على تمويل رأس المال العامل، ولكن من دون تحميل كسول.

نصائح أخرى

وطبيعة WCF سيكون لمعرفة البيانات الخاصة بك نحو تتشكل قبل الإرسال، أي، هو بالفعل ريتريفيد ووضعها في datacontract من نوع ما.

وربما كنت يمكن أن توفر معلمة على خدمة الدعوة inital لبيان ما إذا كان خصائص الطفل يجب أن يتم ملؤها، على الرغم من مدى تذهب دائما ما تكون صعبة.

وعندما أدركت أنه لا يمكن أن يحدث، قررت العمل مع الإسقاط والمحولات نتيجة.

ويعمل جيدا.

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

ولكن الامر يستحق ذلك

يؤسفني أن أكون متشائمًا ولكن جعل NHibernate يعمل مع التحميل البطيء عبر WCF لن تعمل.

ومع WCF رمز أدناه يمكن أن تعمل مع تحميل كسول:

var proxy = myObj as INHibernateProxy;
myObj = (myObj)proxy.HibernateLazyInitializer.GetImplementation();
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top