1.1.0.685 :: BuildConfiguration > DeepClone results in SecurityException when running under IIS
Sorry if this is a no-brainer !
I have been migrating my HBM environment to Fluent for the past while now and have just implemented the nHibernate configuration through FnH fluently Configure interface. All unit and integration tests have proved to be positive up until the point of me testing under IIS, where upon I receive an exception that leaves me stumped.
I have listed the complete stack trace at the end of this post.
My setup is Castle Windsor, and the NHibernateFacility which calls a custom FluentNHibernateConfigurationBuilder to fill in the missing configuration via the fluent configuration interface - which calls .BuildConfiguration().
This resulting configuration is then persisted to disk which isn't the issue here but I thought I would include the point just incase.
Can anyone assist or give me some guidance on where I should investigate further.
Thanks very much,
DC
NH Version : 2.1.2.4000
fNH Version: 1.1.0.685
Stack Trace
SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.] System.Security.CodeAccessSecurityEngine.SpecialDemand(PermissionType whatPermission, StackCrawlMark& stackMark) +0 System.Security.CodeAccessPermission.DemandInternal(PermissionType permissionType) +23 System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck) +60 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck) +134 FluentNHibernate.Utils.Extensions.DeepClone(T obj) in d:\Builds\FluentNH\src\FluentNHibernate\Utils\Extensions.cs:67 FluentNHibernate.Mapping.SubclassMap1.FluentNHibernate.Mapping.Providers.IIndeterminateSubclassMappingProvider.GetSubclassMapping(SubclassType type) in d:\Builds\FluentNH\src\FluentNHibernate\Mapping\SubclassMap.cs:314 FluentNHibernate.Visitors.SeparateSubclassVisitor.ProcessClass(ClassMapping mapping) in d:\Builds\FluentNH\src\FluentNHibernate\Visitors\SeparateSubclassVisitor.cs:23 FluentNHibernate.MappingModel.ClassBased.ClassMapping.AcceptVisitor(IMappingModelVisitor visitor) in d:\Builds\FluentNH\src\FluentNHibernate\MappingModel\ClassBased\ClassMapping.cs:79 FluentNHibernate.Visitors.DefaultMappingModelVisitor.Visit(ClassMapping classMapping) in d:\Builds\FluentNH\src\FluentNHibernate\Visitors\DefaultMappingModelVisitor.cs:109 FluentNHibernate.MappingModel.HibernateMapping.AcceptVisitor(IMappingModelVisitor visitor) in d:\Builds\FluentNH\src\FluentNHibernate\MappingModel\HibernateMapping.cs:43 FluentNHibernate.Visitors.DefaultMappingModelVisitor.<Visit>b__0(HibernateMapping x) in d:\Builds\FluentNH\src\FluentNHibernate\Visitors\DefaultMappingModelVisitor.cs:99 FluentNHibernate.Utils.CollectionExtensions.Each(IEnumerable1 enumerable, Action1 each) in d:\Builds\FluentNH\src\FluentNHibernate\Utils\CollectionExtensions.cs:15 FluentNHibernate.Visitors.DefaultMappingModelVisitor.Visit(IEnumerable1 mappings) in d:\Builds\FluentNH\src\FluentNHibernate\Visitors\DefaultMappingModelVisitor.cs:99 FluentNHibernate.PersistenceModel.ApplyVisitors(IEnumerable1 mappings) in d:\Builds\FluentNH\src\FluentNHibernate\PersistenceModel.cs:187 FluentNHibernate.PersistenceModel.BuildMappings() in d:\Builds\FluentNH\src\FluentNHibernate\PersistenceModel.cs:144 FluentNHibernate.PersistenceModel.EnsureMappingsBuilt() in d:\Builds\FluentNH\src\FluentNHibernate\PersistenceModel.cs:194 FluentNHibernate.PersistenceModel.Configure(Configuration cfg) in d:\Builds\FluentNH\src\FluentNHibernate\PersistenceModel.cs:250 FluentNHibernate.Cfg.FluentMappingsContainer.Apply(Configuration cfg) in d:\Builds\FluentNH\src\FluentNHibernate\Cfg\FluentMappingsContainer.cs:140 FluentNHibernate.Cfg.MappingConfiguration.Apply(Configuration cfg) in d:\Builds\FluentNH\src\FluentNHibernate\Cfg\MappingConfiguration.cs:56 FluentNHibernate.Cfg.FluentConfiguration.BuildConfiguration() in d:\Builds\FluentNH\src\FluentNHibernate\Cfg\FluentConfiguration.cs:110`
Support Staff 2 Posted by James Gregory on 18 Aug, 2010 04:06 PM
What trust level is your worker process / apppool?
3 Posted by David on 18 Aug, 2010 04:10 PM
Hi James,
This is on my development machine and is working under 'Full' trust level. Platform is Windows 7.
DC
Support Staff 4 Posted by Paul Batum on 21 Aug, 2010 02:39 PM
I might be confusing this for a similar exception, but is your IIS app pool
set to .NET 4 by any chance? I vaguely recall that there were a few security
related issues when people tried to run fluent on .NET 4 and I can't
remember if we got them resolved or not.
On Thu, Aug 19, 2010 at 2:12 AM, David <
***@tenderapp.com<tender%***@tenderapp.com>
> wrote:
5 Posted by David on 21 Aug, 2010 05:14 PM
Hi Paul. Thanks for your reply.
The apps pools are running under framework v2.0. Code compiled for framework v3.5
Sent from my iPhone