views:

178

answers:

1

Hi,

The product I'm working on needs to be built in such a way that we have a quote engine driven by a pluggable framework.

We are currently thinking of using MAF, so we can leverage separation of the host and addin interfaces for versioning.

However, I'm concerned that we'd have lots of assemblies, it's likely that we'd have one for each quote engine addin - of which there could be 100 going forward, we also need to support multiple versions, so there could be lots of assemblies in total.

The quote engine also uses WF to drive it, which means each AppDomain for each addin will need a workflow runtime associated with it. This seems quite heavyweight, however we can unload unfrequently used addins.

Does this seem like a good design? We've also looked at a single AppDomain solution using an IOC container to load addin types, but I'm concerned that we won't be able to unload any of the assemblies, given their quantity.

A: 

Each AppDomain and Assembly does add some overhead, but I'm not aware of any specific limits.

The only thing you can do is test (e.g. by writing code to generate many very similar, but different, assemblies to try working with 100, 250, 1000, ....) and see what the impact is).

Richard
Thanks, I'll run some tests and see what performs better for us, a single AppDomain model (via IOC), or a multi AppDomain model (via MAF).I'll update the question based on the outcome.
spooner