在ASP.NET MVC中尝试使用Automapper时,如何摆脱SecurityException错误?

Fel*_*ani 8 security iis asp.net-mvc securityexception automapper

我正在使用NHibernate开发一个ASP.NET MVC应用程序,我正在尝试使用Automapper从发送到视图的DTO对象中隐藏Domain对象:

  1. 带有我的域(用于NHibernate)和DTO对象的ClassLibrary
  2. SessionFactory在我的项目中创建和工厂的类库

我下载了AutoMapper来转换DTO中的Domain对象,并添加了代码来执行此操作Application_Start.

当我在VisualStudio中运行应用程序时(通过按F5),它工作正常,我的DTO映射到视图中.

当我在IIS中发布它时,我得到一个安全性异常:

Mapper.CreateMap<Category, CategoryDto>(); 
Mapper.CreateMap<Product, ProductDto>();
Run Code Online (Sandbox Code Playgroud)

System.Security.SecurityException:对类型'System.Security.Permissions.ReflectionPermission,mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的权限的请求失败.

如何在没有安全性异常的情况下使Automapper工作?

Lee*_*ith 13

右键单击AutoMapper.dll>选择属性>取消阻止.

然后重启IIS


Omu*_*Omu 3

您需要以完全信任的方式运行 IIS 才能获得反射权限,请查看此处反射权限

或者在这里 设置信任级别

you need this because Automapper uses reflection to emit code o_O
Run Code Online (Sandbox Code Playgroud)