2010-05-08 11 views
8

मैं NHibernate के साथ एक ASP.NET MVC आवेदन के विकास कर रहा हूँ और मैं Automapper उपयोग करने के लिए डीटीओ से डोमेन वस्तुओं को छिपाने के लिए कोशिश कर रहा हूँ देखने के लिए भेजा वस्तुओं: मेरे डोमेन के साथएएसपी.नेट एमवीसी में ऑटोमैपर का उपयोग करने का प्रयास करते समय मैं सुरक्षा अपवाद त्रुटि से कैसे छुटकारा पा सकता हूं?

  1. ClassLibrary (NHibernate के लिए) और डीटीओ
  2. कक्षा पुस्तकालय वस्तुओं मेरी परियोजना
  3. में एक SessionFactory और कारखानों बनाने के लिए

मैं डीटीओ में डोमेन वस्तुओं को बदलने के लिए AutoMapper डाउनलोड किया है और Application_Start में यह करने के लिए कोड जोड़ा।

जब मैं विजुअलस्टूडियो (F5 दबाकर) में ऐप चलाता हूं तो यह ठीक काम करता है और मेरे डीटीओ दृश्य में मैप किए जाते हैं।

Mapper.CreateMap<Category, CategoryDto>(); 
Mapper.CreateMap<Product, ProductDto>(); 

System.Security.SecurityException:

जब मैं आईआईएस में यह प्रकाशित करते हैं, मैं एक सुरक्षा अपवाद मिल प्रकार की अनुमति के लिए विफल अनुरोध 'System.Security.Permissions.ReflectionPermission, mscorlib, संस्करण = 2.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = b77a5c561934e089 '।

मैं सुरक्षा अपवाद के बिना काम करने के लिए ऑटोमैपर कैसे प्राप्त करूं?

उत्तर

3

आप प्रतिबिंब की अनुमति है करने के लिए पूर्ण विश्वास में अपने आईआईएस चलाने के लिए की जरूरत है, इधर देखो reflection permission

या यहाँ set trust level

you need this because Automapper uses reflection to emit code o_O 
13

सही AutoMapper.dll पर क्लिक करें> का चयन करें गुण> अनब्लॉक।

तो आईआईएस

+0

धन्यवाद आदमी, मैं भी कोशिश करूँगा! –

+0

मैं पहले से ही पूर्ण विश्वास में चल रहा था और जब तक मुझे एहसास हुआ कि मेरा AutoMapper.dll "अवरुद्ध" था तब तक परेशान था। अच्छी पकड़। – daveidmx

+0

मुझे अपने प्रोजेक्ट से संदर्भ को हटाना पड़ा और इसे काम करने के लिए इसे अनब्लॉक करने के बाद इसे फिर से जोड़ना पड़ा। –

0

पुनः आरंभ dll अनब्लॉक (के रूप में ली ने उल्लेख किया है, सही AutoMapper.dll> का चयन करें गुण> अनवरोधित। पर क्लिक करें), और उसके बाद वह बस साइट का अनुप्रयोग पूल रीसायकल। आईआईएस को पुनरारंभ करने की आवश्यकता नहीं है।