Comments (8)
This exception can happen if you are configuring the kernel and at the same time resolving instances.
You should configure the kernel first and once you start to resolve instances the configuration shouldn't be touched anymore. Otherwise the result is unpredictable anyway.
from ninject.extensions.interception.
I'm fairly sure I am not configuring the kernel after the initial creation. I have a multithreaded application but the kernel is created once before I start launching other threads or doing anything that should cause any of these issues. I'm using an attribute for interception and the problem always happens on a call that would use interception, could that cause any of these issues?
from ninject.extensions.interception.
Can you post some code?
from ninject.extensions.interception.
I don't know where to start.. It doesn't happen all the time so let me reproduce it and try to gather as much info as I can.
from ninject.extensions.interception.
It sounds like what Remo said, are you sure you aren't making any bindings or loading any modules/components/extensions after the initial configuration of the kernel. You could set a few breakpoints to confirm this.
We're using interception 2.2 in anger with attributes and don't see these problems.
from ninject.extensions.interception.
One of the first things my Main does is load the kernel then I don't touch the Kernel anymore for configuration. I also have it set to not auto load anything and I specify which modules to load. Here's a s/s of the time of the crash with the threads: http://dl.dropbox.com/u/7476/interception%20crash.png
A few notes about what I'm doing with interception
- The Lock() method there in the s/s has an interception attribute
- The dispose method also has an interception attribute
- The lock method does a "return this" which would leak the original object and not the proxy object. Therefore I also have an attribute that changes the returns the proxy if the function is returning the normal object.
I am doing a lot of Get() as I mentioned before and you can see that multiple threads are resolving when the crash occurs. I am doing this until I have everything properly injected.
from ninject.extensions.interception.
I added this to the backlog to be investigated. It will take some days because other things are currently in process that need to be finished first.
from ninject.extensions.interception.
Fixed
from ninject.extensions.interception.
Related Issues (20)
- Wrong interceptor is chosen when multiple bindings exist HOT 6
- Interception of inherited methods (e.g. GetHashCode) HOT 4
- Castle.Core 3.3 dependency HOT 3
- Assembly binding issue within dynamic proxy HOT 2
- AsyncInterceptor Forking Execution and Racing HOT 1
- Marking methods virtual
- Not sure why this is failing ... HOT 5
- class proxy (apicontroller) and constructor args HOT 1
- Async Interceptor, Generic Task Raises Exception before invocation of AfterInvocation HOT 1
- Intercepting methods called from within own class? HOT 2
- Unable to cast exception on Injection with Dynamic Proxy and Interface Inheritance
- IInterceptor not refreshing inject
- System.InvalidOperationException when intercepting method with same signature aside from type params
- Not compatible with Castle.Core 4.4.0 HOT 2
- Proper usage of AutoNotifyPropertyChangedInterceptor
- Factory and Interception HOT 1
- AsyncInterceptor cannot handle exeptions HOT 2
- Sequence contains no elements ParameterTypes.Last() HOT 1
- Intercept class and use the logger instance of the class HOT 1
- Performance Issues with Interceptors
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ninject.extensions.interception.