के लिए टाइमआउट कैसे सेट करें मैं अपने ओआरएम के लिए फ्लुएंट एनएचबर्ननेट का उपयोग कर रहा हूं। ऐसा करने में मैं LINQ की शक्ति के साथ डेटा का एक सेट लाने के लिए NHibernate LINQ वाक्यविन्यास का उपयोग करने का प्रयास कर रहा हूं। कोड जो मैंने काम किया है और अपवाद के साथ सही तरीके से निष्पादित करता है कि एक टाइमआउट फेंक दिया जाता है यदि इसे चलाने में लगभग 30 सेकंड लगते हैं। मेरे पास सवाल यह है कि मैं NHQernate के माध्यम से LINQ कथन के लिए डिफ़ॉल्ट 30 सेकंड टाइमआउट कैसे बढ़ा सकता हूं?NHibernate LINQ कथन
मैं पहले से ही पदों here, here, और here लेकिन पहले दो देखा है DataContext के समय समाप्त संपत्ति है, जो यहाँ लागू नहीं होता है की स्थापना का उल्लेख है, और तीसरे एक्सएमएल में टाइमआउट है, जो भी लागू नहीं होता स्थापित करने के लिए संदर्भित करता क्योंकि मैं फ्लाई पर एक्सएमएल उत्पन्न करने के लिए फ्लुएंट एनएचबेर्नेट का उपयोग कर रहा हूं। इतना ही नहीं, लेकिन पोस्ट 2 साल पुराना है और फ्लुएंट एनएचबर्ननेट बदल गया है।
ICriteria वस्तुओं और यहां तक कि HQL मैं टाइमआउट निर्दिष्ट कर सकते हैं के साथ, हालांकि उस लक्ष्य को यहाँ नहीं है। मैं जानना चाहता हूं कि उसी टाइमआउट को कैसे सेट करें और LINQ का उपयोग करें।
उदाहरण कोड:
using (var session = SessionFactory.OpenSession())
using (var transaction = session.BeginTransaction())
{
var query = (from mem in session.Query<Member>()
select mem);
query = query.Where({where statement});
int start = (currentPage - 1) * max);
if (start > 0)
query = query.Skip(start).Take(max);
else
query = query.Take(max);
var list = query.ToList();
transaction.Commit();
return list;
}
इस कोड (जहां बयान कोई फर्क नहीं पड़ता) जहां एक टाइमआउट होता है को छोड़कर सभी उद्देश्यों के लिए काम करता है।
किसी भी मदद की सराहना की जाती है। अग्रिम में धन्यवाद!
kingpin2k द्वारा उत्तर देखें। मेरे लिए बहुत अच्छा काम किया। –