Problèmes de permission de réflexion Lors de l'utilisation de ninject 2.2, le nhibernate courant dans un environnement de confiance moyenne

StackOverflow https://stackoverflow.com/questions/9480657

Question

j'utilise (à partir des packages NuGet) Ninject 2.2 et Nhibernate 1,3 courant (nhibernate v3.2 sous le capot) et j'ai heurté un mur de briques.

J'utilise Fluent Config pour pointer de ma base de données, des mappages, etc.:

var fluentConfig = Fluently.Configure()
    (MsSqlConfiguration.MsSql2008.DoNot.UseReflectionOptimizer()
    .ConnectionString(c => c.FromConnectionStringWithKey("ExampleDB")))
    .Mappings(m => m.FluentMappings.AddFromAssemblyOf<ExampleMap>()
    .Conventions.Add(FluentNHibernate.Conventions.Helpers.DefaultLazy.Never()))
    .ExposeConfiguration(x => x
                            .SetProperty("current_session_context_class", "web"))
    .ExposeConfiguration(BuildSchema);

Le code fonctionne embelli sur ma boîte locale, jusqu'à ce que je définisse <Trust Level = "Medium" /> Pour refléter mon fournisseur d'hébergement, puis il commence à barf.

La ligne de problème est la 2ème dans ce bloc de code

Bind<Configuration>().ToConstant(fluentConfig.BuildConfiguration());
Bind<ISessionFactory>().ToConstant(fluentConfig.BuildSessionFactory());
Bind<ISession>().ToMethod(x => GetRequestSession(x));

L'exception que je reçois: "... Demande d'autorisation de type 'System.Security.Permissions.ReflectionPermission .... Échec"

Est-ce que quelqu'un a des suggestions? Jusqu'à présent, mes enquêtes ne se présentent que des informations obsolètes basées sur des versions plus anciennes de ninject et nhibernate ou de solutions qui impliquent le décompilation X pour se désengager ... ce que je préfère ne pas faire!

Était-ce utile?

La solution

Utilisez la construction de confiance moyenne au lieu de la version de Nuget: https://github.com/ninject/ninject/downloads

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top