मेरे पास एक एमवीसी 3 प्रोजेक्ट है जो निनजेक्ट, एंटिटी फ्रेमवर्क और सर्विस लेयर के साथ यूनिट ऑफ वर्क पैटर्न का उपयोग करता है।कार्य/थ्रेड के साथ निंजा स्कोप समस्या
मेरा AsyncService क्लास में एक फ़ंक्शन है जो पृष्ठभूमि कार्य शुरू करता है, उदाहरण के तौर पर, उपयोगकर्ता को उपयोगकर्ता संग्रह में जोड़ता है। मेरी वर्तमान समस्या यह है कि डीबीकॉन्टेक्स्ट का निपटारा करने में त्रुटि होने से पहले कार्य केवल कुछ सेकंड के लिए सही ढंग से चलता है। मेरा डेटाबेस संदर्भ, जिसे निनजेक्ट इनरक्वैस्टस्कोप() से इंजेक्शन दिया गया है, ऐसा लगता है कि इनरक्वैस्टस्कोप() इसे HttpContext से जोड़ता है।
मैंने इनट्रेडस्कोप() के बारे में पढ़ा है, हालांकि मुझे यकीन नहीं है कि यह मेरे एमवीसी प्रोजेक्ट में इसे कैसे कार्यान्वित किया जाए।
मेरा प्रश्न है: मेरे कार्य में निनजेक्ट का उपयोग करने का सही तरीका क्या है? तो यह इस मामले में नहीं किया जा सकता
public class AsyncService
{
private CancellationTokenSource cancellationTokenSource;
private IUnitOfWork _uow;
public AsyncService(IUnitOfWork uow)
{
_uow = uow;
}
public void AsyncStartActivity(Activity activity)
{
...snip...
this.cancellationTokenSource = new CancellationTokenSource();
var cancellationToken = this.cancellationTokenSource.Token;
var task = Task.Factory.StartNew(() =>
{
foreach (var user in activity.UserList)
{
this._uow.UserRepository.Add(new User() {UserID = user});
}
this._uow.Save();
}, cancellationToken);
...snip...
}
}
वहाँ एक नमूना कोड है? जेसन, जहां आप इसे काम करने में सक्षम हैं? मुझे एक ही समस्या है और लिंक के बाद मदद नहीं मिली है। –
मेरे पास यह वही समस्या है, मुझे इस परिदृश्य के लिए कुछ नमूना कोड देखना अच्छा लगेगा। –