समस्या। एक पंजीकरण परिदृश्य में, मैं अपने उपयोगकर्ता तालिका में एक उपयोगकर्ता डालने की कोशिश कर रहा हूं और उसके बाद उस उपयोगकर्ता (लेनदेन में) के लिए WebSercurity.CreateAccount
पर कॉल करें। इससे त्रुटि होती है कि सर्वर पर एमएस डीटीसी उपलब्ध नहीं है।एक TrasactionScope में अन्य प्रश्नों के साथ WebSercurity.CreateAccount का उपयोग कर, डीटीसी के बिना सक्षम
विवरण। कारण यह है कि मैं ऐसा कर रहा हूं क्योंकि मेरे पास Customer
इकाई है जो User
से प्राप्त होती है, इसलिए WebSercurity.CreateUserAndAccount
का उपयोग नहीं किया जा सकता क्योंकि यह Customer
के बारे में नहीं जानता है और केवल User
रिकॉर्ड दर्ज करता है।
मैं Asp.net MVC 4 का उपयोग कर रहा EntityFramework 5, CodeFirst, और SQL सर्वर 2008 R2 के साथ।
डीटीसी का उपयोग न करने के लिए कोई सुझाव की सराहना की जाएगी!
संपादित करें। यह कारण है कि इस त्रुटि तब होती है स्पष्ट है क्योंकि websecurity डेटाबेस के लिए अपने स्वयं के कनेक्शन का उपयोग करता है, और मेरी खजाने, एक और कनेक्शन का उपयोग हालांकि मैं अपने खजाने के रूप में ही DbContext
वर्ग का उपयोग करने के simplemembership कॉन्फ़िगर कर दिया है, लेकिन समस्या यह है कि यह एक बनाता है DbContext
का नया उदाहरण ...
मैं उम्मीद कर रहा था कि मौजूदा संदर्भ ऑब्जेक्ट को पास करने का कोई तरीका है या WebSecurity
से इसके तरीकों का उपयोग करने के लिए कनेक्शन है।
if (ModelState.IsValid)
{
//using (TransactionScope tx = new TransactionScope())
//{
UnitOfWork.UserRepository.Insert(new Customer
{
FirstName = model.FirstName,
LastName = model.LastName,
Email = model.Email,
Tel = model.Tel,
Mobile = model.Mobile,
BirthDate = model.BirthDate,
InsertDate = DateTime.Now,
UserType = UserType.Customer,
MaritalStatus = model.MaritalStatus,
ZipCode = model.ZipCode,
StreetAddress = model.StreetAddress,
City = model.City,
State = model.State
});
UnitOfWork.Commit();
string token = WebSecurity.CreateAccount(model.Email, model.Password, true);
Roles.AddUserToRole(model.Email, "Customer");
//WebSecurity.Login(model.Email, model.Password, true);
await Task.Run(() => EmailHelper.SendConfrimationEmail(token, model.Email));
// tx.Complete();
//}
धन्यवाद, हां, मुझे पता है, 'वेब सुरक्षा' विधियों से कनेक्शन पारित करने का कोई तरीका नहीं है? आप किस सदस्यता प्रदाता का सुझाव देते हैं? – Ashkan