I think there is a <setting /> to turn off the IL optimizations which means you 
can't use any of the lazy loading.




________________________________
From: Michael McCurrey <mmccur...@gmail.com>
To: user-cs@ibatis.apache.org
Sent: Tuesday, July 28, 2009 9:02:13 PM
Subject: Re: Medium Trust Environments

I'm not around a compiler at the moment; but I do recall reading someplace that 
the Castle.DynamicProxy (old version) as is doesn't allow partially trusted 
calls.  You'd either have to link it to a version that does or ILMerge it into 
the iBatis DLL.  It's a pain.



On Tue, Jul 28, 2009 at 5:39 PM, Erin Rollenhagen 
<e...@entrepreneurialtechnologies.com> wrote:

An update: I’ve now recompiled the Ibatis.Net dlls using
>AllowPartiallyTrustedCallers and have come up with a new exception:
> 
>[SecurityException: Request for the permission of type
>'System.Security.Permissions.ReflectionPermission, mscorlib, Version=2.0.0.0,
>Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
>   System.Security.CodeAccessSecurityEngine.Check(Object demand,
>StackCrawlMark& stackMark, Boolean isPermSet) +0
>   System.Security.CodeAccessPermission.Demand() +58
>  
>System.Reflection.Emit.DynamicMethod.PerformSecurityCheck(Module m,
>StackCrawlMark& stackMark, Boolean skipVisibility) +191
>   System.Reflection.Emit.DynamicMethod..ctor(String name, Type
>returnType, Type[] parameterTypes, Module m, Boolean skipVisibility) +49
>  
>IBatisNet.Common.Utilities.Objects.Members.DelegatePropertySetAccessor..ctor(Type
>targetObjectType, String propName) +700
>   
> IBatisNet.Common.Utilities.Objects.Members.SetAccessorFactory.CreateDynamicPropertySetAccessor(Type
>targetType, String propertyName) +235
>  
>IBatisNet.Common.Utilities.Objects.Members.SetAccessorFactory.CreateSetAccessor(Type
>targetType, String name) +453
>   
> IBatisNet.DataMapper.Configuration.ResultMapping.ResultProperty.Initialize(ConfigurationScope
>configScope, Type resultClass) +336
>  
>IBatisNet.DataMapper.Configuration.ResultMapping.ResultMap.GetChildNode(ConfigurationScope
>configScope) +1570
>   
> IBatisNet.DataMapper.Configuration.ResultMapping.ResultMap.Initialize(ConfigurationScope
>configScope) +194
> 
>I’ve Googled around a bit and it seems the solution to this is
>making any members that need to be reflected public.  This doesn’t really seem
>realistic – does anyone have any ideas?
> 
> 
>From:Michael McCurrey
>[mailto:mmccur...@gmail.com] 
>Sent: Tuesday, July 28, 2009 7:29 PM
>To: user-cs@ibatis.apache.org
>Subject: Re: Medium Trust Environments
> 
>What type of ado.net driver are you using?
>On Tue, Jul 28, 2009 at 4:08 PM, Erin Rollenhagen 
><e...@entrepreneurialtechnologies.com>
>wrote:
>Hi Everyone,
> 
>I know I’ve brought this up before but I don’t think there was ever an
>answer…I got around it at the time by switching from a GoDaddy account to a
>HostMySite account that was running in a higher-trust environment.  Now my
>host has sent out an email saying that they’re switching to medium trust in a
>week.  I decided to test this out by setting the trust level to medium in
>my application, and sure enough, my ibatis calls no longer work.
> 
>I’ve tried marking the EntrepreneurialTechnologies.DatabaseHelper class (which
>calls Ibatis) with the AllowPartiallyTrustedCallers attribute and signing it,
>but to no avail.  I still get the security exception.  What I’d like
>to know is if this is something that just cannot be done, if Ibatis is
>fundamentally incompatible with medium-trust environments, or if there is a way
>to configure things so that it will run in medium trust.  Does anyone have
>this working currently?
> 
>If this is something obvious that I am not getting about how medium trust
>works, please forgive me.  I’ve never had to deal with this much
>before.  Any and all guidance is appreciated.
> 
>Here is the stack trace:
>[SecurityException:
>That assembly does not allow partially trusted callers.]
>  
>EntrepreneurialTechnologies.DatabaseHelper.SelectMapperClient.selectList(String
>selectName, Object params) +0
>  
>ET.IowaChiropracticSociety.HomePageBannerService.getActive() +82
>  
>_DefaultPage.Page_Load(Object sender, EventArgs e) +308
>  
>System.Web.UI.Control.OnLoad(EventArgs e) +99
>  
>System.Web.UI.Adapters.ControlAdapter.OnLoad(EventArgs e) +15
>  
>System.Web.UI.Control.LoadRecursive() +8683053
>  
>System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,
>Boolean includeStagesAfterAsyncPoint) +6785
>  
>System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint,
>Boolean includeStagesAfterAsyncPoint) +242
>  
>System.Web.UI.Page.ProcessRequest() +80
>  
>System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
>  
>System.Web.UI.Page.ProcessRequest(HttpContext context) +49
>  
>ASP.default_aspx.ProcessRequest(HttpContext context) +37
>  
>System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
>+181
>  
>System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&
>completedSynchronously) +75
> 
>Thanks!
> 
>Erin Rollenhagen
>Entrepreneurial Technologies
>12257 University Avenue, Suite 200
>Clive, Iowa 50325
>515.440.1242
>e...@entretechno.com
>http://www.entretechno.com
> 
>
>
>
>>-- 
>>Michael J. McCurrey
>>Read with me at http://www.mccurrey.com
>http://chaoticmindramblings.blogspot.com/


-- 
Michael J. McCurrey
Read with me at http://www.mccurrey.com
http://chaoticmindramblings.blogspot.com/

Reply via email to