I'm brainstorming some ideas about how to isolate web api controllers into their own "modules" that can be blended together into a single webapi application. However I'd like to isolate them and their dependencies form each other since there will likely be assembly version conflicts. I've been wondering if this could be achieved with different application domains for each controller. Anyone have experience with this?
How to separate webapi controllers in their own app domain?
875 Views Asked by Paul Fryer At
1
There are 1 best solutions below
Related Questions in DESIGN-PATTERNS
- Pass Data between two view controllers using 'Delegation' : Objective-C
- Revealing module pattern instantiation and naming convention
- Is using the same Redis instance for different applications against Separation of Concerns principle?
- Swift - Issue trying to access to Singleton object
- How to set data context of ViewModela View's xaml?
- How to use nested builder pattern in json?
- Is object casting a good practice?
- reference data class member visitor pattern
- variable global const "macros" in C++ and optimal design patterns
- How to design abstract listener and its implementation?
- DTOs with different granularity
- Object creation depending on caller
- What is the proper way to use inheritance when combined with factory method?
- Is this Java Enumeration Used/Designed Correctly?
- Design pattern for incremental code
Related Questions in ASP.NET-WEB-API
- Implement Onfailure in webApi controller
- WebApi: Reading errors
- Why web API return 404 when deploy to IIS
- One Web API calls the other Web APIs
- colon(:) in url causes error in asp.net
- Make a per-web-application object available to Web API and SignalR controllers
- Using Azure MobileServices library with my own LAN WebApi
- redirect to actionResult method from an api
- How to catch postpack result to Web Api
- Exposing webapi to third party
- .net Web Api 2 Owin authentication token expires suddenly and often on IIS 8.5
- Can you use the same token in ADFS for 2 different relying parties?
- Does 'api/SomeEntity/ForOtherEntity/{otherEntityId}' break REST?
- Generic webAPI method based on parameter types of arrays
- Where can I find user identity when using webapi with Windows Authentication on IIS8
Related Questions in APPDOMAIN
- Isolate exceptions thrown in an AppDomain to not Crash the Application
- Static class variable across appdomain
- Call library in new AppDomain to prevent exceptions from propagating
- C# Separate instances running under same appdomain?
- getting root of wpf app as a string
- How to force to delete access denied file in c#
- Assembly Reference + Variable vs. Assembly.Load
- Dynamically loading assemblies which have references
- C# Launching another WPF program from a byte array
- Assembly.LoadFrom() or Assembly.Load() being able to delete file
- Why the `AppDomain.UnhandledException` event doesn't happen in my case?
- IRegisteredObject not working as expected
- Getting sub-Appdomain cpu usage, memory usage, and thread number in real-time
- How to separate webapi controllers in their own app domain?
- What is the minimum acceptible value for Idle Time-out(minutes) in IIS?
Related Questions in ISOLATION
- TypeMock Isolator: WillThrow() bleeds across unit test boundaries?
- Mesos cpu soft-limit dangers?
- How to separate webapi controllers in their own app domain?
- WRITE over READ in mysql
- Set isolation on DB2 with Zend Framework
- Can lock yielding break query isolation?
- Protecting data from direct access by other applications in windows
- How do I use an API of a windows service?
- AppDomain.DoCallBack requires ReflectionPermission?
- repeatable read and second lost updates issue
- Build environment isolation and file system diffing
- MongoDB Chain queries, pseudo transactions
- Docker (compose) networking - service isolation not working
- How to programatically determine if a function is isolated or not in Ballerina?
- How to avoid `invalid access of mutable storage in an 'isolated' function`?
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?
Anything in the bin folder will be loaded into the current app domain so normally this isn't an issue. However, when dodging versioning conflicts you can use a custom assembly resolver to load up multiple assemblies/versions into the same AppDomain. This will allow you to pull in additional assemblies to web api's AppDomain.
You then will replace the default assembly resolver for web api in the configuration.
When web api goes to search assemblies to find controllers it will now pull in all of the additional assemblies. See this example for a more detailed explaination.