Frage

Ich entwickle eine ASP.NET MVC-Anwendung mit NHibernate und ich versuche AutoMapper zu verwenden, die Domain-Objekte aus der DTO zu verbergen Objekte in die Ansicht gesendet:

  1. Classlibrary mit meiner Domain (für NHibernate) und DTO-Objekte
  2. Klassenbibliothek eine SessionFactory und Fabriken in meinem Projekt machen

Ich heruntergeladen AutoMapper Domain-Objekte in DTO zu transformieren und den Code zu tun dies in Application_Start hinzugefügt.

Wenn ich die app in Visual Studio (durch Drücken der Taste F5) ausführen es funktioniert gut und mein DTOs in die Ansicht abgebildet.

Wenn ich dies in IIS veröffentlichen, ich eine Sicherheitsausnahme erhalten:

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

System.Security.SecurityException. Fehlgeschlagen Antrag auf Genehmigung des Typs 'System.Security.Permissions.ReflectionPermission Mscorlib, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089'

Wie kann ich AutoMapper zu arbeiten, ohne die Sicherheit Ausnahme bekommen?

War es hilfreich?

Lösung

benötigen Sie IIS in voller Vertrauen laufen, um Reflexion Erlaubnis zu haben, hier Reflexionserlaubnis

oder hier Satz Vertrauensebene

you need this because Automapper uses reflection to emit code o_O

Andere Tipps

Rechtsklick auf den AutoMapper.dll> wählen Sie Eigenschaften> Freigabe.

Dann Neustart IIS

Freigabe der DLL (wie von Lee erwähnt, Rechtsklick auf die AutoMapper.dll> wählen Sie Eigenschaften> Freigabe.), Und dann bereiten sie einfach die App Becken Website. Benötigen Sie nicht IIS neu starten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top