मैं एक ऐप बनाना शुरू कर रहा हूं, और मैं सर्विसस्टैक का उपयोग करने की योजना बना रहा हूं। बस जानना चाहते हैं कि NHibernate ISession या अन्य "प्रति अनुरोध" संदर्भ विशिष्ट सत्र ऑब्जेक्ट्स को संभालने के लिए सर्वोत्तम प्रथाओं/अच्छे दृष्टिकोण क्या हैं।सेवास्टैक NHibernate सत्र प्रति अनुरोध
मैं की तरह आईओसी में एक ISessionFactory पंजीकरण के बारे में सोचा:
container.Register<ISessionFactory>(sessionFactory);
और एक नया सत्र वस्तु मिल जब जरूरत ... या हो सकता है सीधे सत्र वस्तु प्रदान करते हैं:
container.Register<ISession>(c => sessionFactory.OpenSession()).ReusedWithin(ReuseScope.None);
या तो संभाल ISession और Global.asax BeginRequest ईवेंट के माध्यम से एक डिफ़ॉल्ट लेनदेन:
protected void Application_BeginRequest(object sender, EventArgs e)
{
var session = factory.OpenSession();
ITransaction itrans = session.BeginTransaction();
Context.Items.Add("session", session);
Context.Items.Add("trans", itrans);
}
तो, मैं खो गया हूं, उपर्युक्त तकनीकों, या इसी तरह के ईएफ या अन्य आराम-सेवा ढांचे जैसे सर्वोत्तम प्रथाओं क्या हैं?
अग्रिम
आप कैसे आप इस के लिए इस्तेमाल किया पर विस्तृत कृपया कर सकते हैं? सर्विसस्टैक दस्तावेज़ वास्तव में इन ServiceRunners का उपयोग करने के तरीके पर समझ में नहीं आता है .. – slashp
मैंने आपके ऐप होस्ट में जोड़ने के लिए कोड जोड़ा। सुनिश्चित नहीं है कि सेवा से सेवा धावक का उपयोग कैसे करें। –
बस अधिक जानकारी के लिए अनुरोधों को देखा, सहायक होने में बहुत देर हो सकती है, लेकिन शायद कोई और जानना चाहता है। 'कोड' पब्लिक क्लास ऐपहोस्ट: ऐपहोस्टबेस { सार्वजनिक ऐपहोस्ट(): आधार (" सेवा ", टाइपऑफ (एक्सेस सेवा)।विधानसभा) { } सार्वजनिक ओवरराइड शून्य कॉन्फ़िगर (कंटेनर कंटेनर) { } सार्वजनिक ओवरराइड IServiceRunner CreateServiceRunner (ActionContext actionContext) { नई BaseServiceRunner लौट (यह, actionContext); } 'कोड' –