Azure exception

89 views
Skip to first unread message

Andrew Davey

unread,
Jan 5, 2009, 6:52:43 PM1/5/09
to ninject
I'm trying to use ninject in a Azure MVC web app. I'm getting this:

[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

Ninject.Core.Infrastructure.DynamicMethodFactory.CreateDynamicSetterMethod
() in DynamicMethodFactory.cs:255
Ninject.Core.Infrastructure.DynamicMethodFactory.CreateSetter
(PropertyInfo property) in DynamicMethodFactory.cs:197
Ninject.Core.Injection.DynamicPropertyInjector.Set(Object target,
Object value) in DynamicPropertyInjector.cs:74

Ninject.Core.Activation.Strategies.PropertyInjectionStrategy.Initialize
(IContext context) in PropertyInjectionStrategy.cs:80
Ninject.Core.Activation.<>c__DisplayClass6.<Activate>b__2
(IActivationStrategy s) in ActivatorBase.cs:65
Ninject.Core.Infrastructure.StrategyChain`1.ExecuteForChain(Func`2
callback) in StrategyChain.cs:179
Ninject.Core.Activation.ActivatorBase.Activate(IContext context) in
ActivatorBase.cs:65
Ninject.Core.KernelBase.DoInject(Object instance, IContext context)
in KernelBase.cs:469
Ninject.Core.Infrastructure.LocatorBase.Inject(Object instance) in
LocatorBase.cs:106
Ninject.Framework.Web.KernelContainer.Inject(Object instance) in
KernelContainer.cs:69
Ninject.Framework.Web.NinjectHttpApplication.Application_Start() in
NinjectHttpApplication.cs:52

Does ninject run in medium trust?

Nate Kohari

unread,
Jan 16, 2009, 9:37:23 AM1/16/09
to nin...@googlegroups.com
Andrew:

If you set the kernel option UseReflectionBasedInjection, Ninject will work in Azure (as well as other partial trust environments):

var options = new KernelOptions { UseReflectionBasedInjection = true };
var kernel = new StandardKernel(options, new ModuleA(), new ModuleB(), ...);


-Nate

Andrew Davey

unread,
Jan 19, 2009, 3:29:02 AM1/19/09
to ninject
Awesome! Thanks Nate :)
> > Does ninject run in medium trust?- Hide quoted text -
>
> - Show quoted text -
Reply all
Reply to author
Forward
0 new messages