Medium Trust: conditionally disabling reflection-optimizer.

--HG--
branch : dev
This commit is contained in:
Andre Rodrigues
2010-11-15 15:53:59 -08:00
parent 804a24b6b3
commit a47bc46695
2 changed files with 7 additions and 7 deletions

View File

@@ -13,14 +13,8 @@
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor" requirePermission="false" /> <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor" requirePermission="false" /> <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor" requirePermission="false" />
</sectionGroup> </sectionGroup>
<section name="hibernate-configuration" requirePermission="false" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
</configSections> </configSections>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<reflection-optimizer use="false"/>
</hibernate-configuration>
<system.diagnostics configSource="Config\Diagnostics.config"/> <system.diagnostics configSource="Config\Diagnostics.config"/>
<system.web.webPages.razor> <system.web.webPages.razor>

View File

@@ -1,4 +1,7 @@
using System; using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Soap;
using System.Xml.Serialization;
using NHibernate; using NHibernate;
using NHibernate.Cfg; using NHibernate.Cfg;
using Orchard.Data; using Orchard.Data;
@@ -66,7 +69,10 @@ namespace Orchard.Data {
private ISessionFactory BuildSessionFactory() { private ISessionFactory BuildSessionFactory() {
Logger.Debug("Building session factory"); Logger.Debug("Building session factory");
var config = GetConfiguration(); if (!(AppDomain.CurrentDomain.IsHomogenous && AppDomain.CurrentDomain.IsFullyTrusted))
NHibernate.Cfg.Environment.UseReflectionOptimizer = false;
Configuration config = GetConfiguration();
return config.BuildSessionFactory(); return config.BuildSessionFactory();
} }