If I use Managed AddIn Framework (System.AddIn) and set it up to use separate AppDomains, can I use a centralized IoC container that is in the primary/default AppDomain? Can the IoC container resolve across the AppDomains?
Can IoC and the Managed AddIn Framework (System.AddIn) work together with isolated AppDomains?
655 Views Asked by Daniel A. White At
1
There are 1 best solutions below
Related Questions in .NET
- Does compiler optimize operation on const variable and literal const number?
- What is the point of definnig Asp.net Intrinsic Objects In different places and what is the different betwen them?
- Deleting Orphans with Fluent NHibernate
- IOrderedEnumerable to vb.net IOrderedEnumerable Conversion
- What is this namespace ITypeOfObjectsBoundToListBox ? Couldn't find it
- .net rest service with JSON string and consumed with java client
- What is best way to check if any of the property of object is null or empty?
- Telerik's WPF RadColorPicker NoColorText property not working
- Possible consequences of duplicate ProgId for different classes
- How are multiple requests to Task.Run handled from a resource management standpoint?
- Optimizing C++ call from C#
- Make a per-web-application object available to Web API and SignalR controllers
- System.ComponentModel.DataAnnotations.Schema namespace conflict
- LINQ Except/Distinct based on few columns only, to not add duplicates
- Not displaying content by its URL string - absolute urls
Related Questions in DEPENDENCY-INJECTION
- Resolve object using DI container with object instance
- Angularjs dependency injection parameter
- Dagger 2 - unable to inject object
- How to have SimpleInjector resolve viewmodel dependencies?
- Command Bus/Dispatcher and Handler registration without Dependency Injection
- Receiving a NoClassDefFoundError even though jar is successfully downloaded via Maven and referenced in pom.xml
- automapper error collection was modified when multiple users are creating a user
- When to use DI over abstract inheritance?
- Simple Injector Dependency Resolution Error - Could not load file or assembly System.Web.Http
- How can I use Dependency Injection to either Override a method or to set a default method when no dependency is explicitly injected?
- Injecting login session using Dagger
- What's wrong with this factory dependencies issue?
- JAVA CDI: sometimes injection stays null when injected into EJB and interceptor in request scope
- Why a service of main module available in other modules?
- Can I specify multiple parameters using WhenInjectedInto for ninject?
Related Questions in ADD-IN
- Office add-in for save location
- Using Registry to install Excel AddIn
- Excel COM Add-in not loaded after using Visual studio performance profiler
- Prevent Excel from saving UDF path to formula cells
- Way to capture double click to open file?
- Debugging class library - Target App "out of memory"
- Create Ribbon for OneNote 2013 32bit and 64bit
- Store a Workbook within an xlam file
- Event: Before Outlook close
- How to add manually written extension to Internet Explorer 11?
- Outlook Ribbon XML - Only one instance for all inspectors
- Get list of active connections from SSMS addin
- How can I find the location of DLLs included as resources in an outlook add-in for use with DllImport
- Creating a custom Add-in for Excel 2016 and it is not available from the My Add-In menu
- How to create an addin with a toolbar in it
Related Questions in IOC-CONTAINER
- Attempting to bind Guzzle Curl Client to Laravel's Service Container -- then Type Hint the Client Fails when attempting to __construct()
- How do I use GetAll with Ninject so that one failure doesn't stop the other bindings from resolving?
- Caliburn Micro EventAggregator subscribe/unsubscribe multiple instances of same ViewModel
- Define filter for DecorateAllWith() method in structure-map 3
- Autofac - DelegatingHandler (HttpMessageHandler) Registration
- BeanCurrentlyInCreationException: Error creating bean with name 'scrService'
- Lumen IoC binding resolution spotty within phpunit tests
- The benefits and correct usage of a DI Container
- Is there an Ioc container that supports assembly versioning by reflection?
- Why does laravel IoC does not provisioning my class with my method?
- Is it good practice to inject IUnityContainer into controller class to save extra code
- Using helper methods from Blade returning 'Cannot redeclare Class' error
- Laravel middleware to augment route model binding for security
- Laravel service container is it possible to bind to class AND all it's ancestors - like in Symfony
- Load external environment parameters in Symfony 3.2 using env() at runtime return unresolved values
Related Questions in MAF
- How do I use automapper with System.AddIn?
- Is Managed Addin Framework alive
- Passing user credentials/user account when activating plugin with MAF
- Managed AddIn Framework (MAF) - Host Third Party Addons
- Can IoC and the Managed AddIn Framework (System.AddIn) work together with isolated AppDomains?
- .NET AddIn Framework, ignore folder (.svn)
- Designing a multi-module, cross-team web application
- Custom Pipeline File and Directory Structure in C#
- Using System.Addin with Assembly generated in memory
- Instantiate MEF parts in a separate process
- Give MAF plugin which run as separate process a custom name
- Using MEF and MAF together
- How to add MAF process to windows firewall exception rules
- Multiple Cucumber report has been encoded to base64
- Microsoft Add-in Framework vs OSGi?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I'm going to approach this answer by ignoring the MAF part of the equation, and concentrating on the AppDomain issue. An IoC container could theoretically do what you describe, assuming that the IoC entry point inherits from MarshalByRefObject or is wrapped by a class that in turn inherits from MarshalByRefObject. With a 29K+ rep score, I am sure you know this but:
1) Objects which inherit from MarshalByRefObject can be accessed across AppDomain boundaries via proxying (that is, all of the calls are marshalled across the appdomain boundary to the object).
2) Objects that are serializable can be passed across the AppDomain boundary via serialization, that is, you can get another copy of them in the other AppDomain.
For a number of reasons, you wouldn't want to serialize your whole IoC container and ship it across the AppDomain boundary. First off, the overhead of doing that would be enormous, and secondly there is likely a lot of plumbing behind an IoC container that isn't serializable. Therefore the only possible way for this to work is if:
1) The IoC container itself was MarshalByRef, or was wrapped by such
and
2) The objects that you were getting from the IoC container were all set up properly for cross-domain use (either serializable or MBR-inheriting).
If both of the above are true, then you could theoretically use the IoC container hosted in the main AppDomain from other AppDomains. You'd probably do this by defining a MAF host adapter that was specific to the IoC container's Resolve methods (or whatever the equivalent is in the IoC tool you use).
Keep in mind that a LOT of IoC functionality (especially AOP) is implemented using the same proxy APIs that cross-appdomain communication also uses. I could definitely see this complicating things if you attempt to use the IoC container for anything more than basic serializable structures and MBR-inheriting services.