Wie kann ich den SecurityException-Fehler loswerden, wenn ich versuche, Automapper in ASP.NET MVC zu verwenden?

8

Ich entwickle eine ASP.NET MVC-Anwendung mit NHibernate und ich versuche, Automapper zu verwenden, um die Domäne-Objekte aus den DTO-Objekten auszublenden, die an die Ansicht gesandt werden:

  1. ClassLibrary mit meiner Domain (für NHibernate) und DTO-Objekten
  2. Klassenbibliothek, um SessionFactory und Factories in meinem Projekt zu erstellen

Ich habe AutoMapper heruntergeladen, um Domänenobjekte in DTO zu transformieren, und den Code dazu in Application_Start hinzugefügt.

Wenn ich die App in VisualStudio starte (durch Drücken von F5), funktioniert es einwandfrei und meine DTOs werden in die Ansicht eingeordnet.

Wenn ich dies in IIS veröffentliche, bekomme ich eine Sicherheitsausnahme:

%Vor%
  

System.Security.SecurityException: Fehlgeschlagene Anforderung für die Berechtigung vom Typ 'System.Security.Permissions.ReflectionPermission, mscorlib, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089'.

Wie bekomme ich Automapper ohne die Sicherheitsausnahme arbeiten?

    
Felipe Oriani 08.05.2010, 15:10
quelle

3 Antworten

3

Sie müssen Ihren IIS vollständig vertrauenswürdig ausführen, um eine Reflektionsberechtigung zu erhalten. schau hier reflection permit

oder hier Vertrauensstufe festlegen

%Vor%     
Omu 08.05.2010, 19:41
quelle
13

Klicken Sie mit der rechten Maustaste auf die AutoMapper.dll & gt; Wählen Sie Eigenschaften & gt; Entsperren.

Starten Sie IIS neu

    
Lee Smith 20.05.2010 16:59
quelle
0

Entsperren Sie die DLL (wie von Lee erwähnt, klicken Sie mit der rechten Maustaste auf die AutoMapper.dll & gt; wählen Sie Eigenschaften & gt; Entsperren.), und dann recyceln Sie einfach den App-Pool der Website. Müssen IIS nicht neu starten.

    
Gokulnath 11.07.2011 15:00
quelle