2010-05-08 26 views
8

我正在开发与NHibernate ASP.NET MVC应用程序,我试图用Automapper隐藏从DTO域对象的对象发送到视图:尝试在ASP.NET MVC中使用Automapper时,如何摆脱SecurityException错误?

  1. ClassLibrary与我的域(NHibernate的)和DTO对象
  2. 类库做出SessionFactory和工厂在我的项目

我下载AutoMapper在DTO变换域对象,并添加代码Application_Start做到这一点。

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

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

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

System.Security.SecurityException:对类型的权限失败的请求“System.Security.Permissions.ReflectionPermission,mscorlib中,版本= 2.0.0.0,文化=中立,PublicKeyToken = b77a5c561934e089'。

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

回答

13

右键单击AutoMapper.dll>选择属性>解除封锁。

然后重新启动IIS

+0

谢谢你,我也试试吧! – 2010-05-20 19:06:12

+0

我已经完全信任并且感到困惑,直到我意识到我的AutoMapper.dll被“阻止”。接得好。 – daveidmx 2010-06-23 20:19:40

+0

我不得不从我的项目中删除引用,并在解除封锁后再次将其添加回来,以使其正常工作。 – 2010-10-27 10:56:19

0

阻止的dll(如Lee提到,右键单击AutoMapper.dll>选择属性>阻止。),然后只回收站点的应用程序池。无需重新启动IIS。