Managed AddIn Framework (MAF)

This week, I have started exploring the add-in programming model for plug-in development.  Developers can use it to develop add-ins and activate them in their host application. The model is based on construction of a communication pipeline between the host and the add-in.
Managed Add-in Framework
Managed Add-in Framework
The assemblies for these segments are not required to be in the same application domain. You can load an add-in into its own new application domain, into an existing application domain, or even into the host’s application domain. You can load multiple add-ins into the same application domain, which enables the add-ins to share resources and security contexts.

The add-in model supports, and recommends, an optional boundary between the host and the add-in, which is called the isolation boundary (also known as a remoting boundary). This boundary can be an application domain or process boundary.

The contract segment in the middle of the pipeline is loaded into both the host’s application domain and the add-in’s application domain. The contract defines the virtual methods that the host and the add-in use to exchange types with each other.

To pass through the isolation boundary, types must be either contracts or serializable types. Types that are not contracts or serializable types must be converted to contracts by the adapter segments in the pipeline.

The view segments of the pipeline are abstract base classes or interfaces that provide the host and the add-in with a view of the methods that they share, as defined by the contract. Source : MSDN

Advertisements

One thought on “Managed AddIn Framework (MAF)

  1. Pingback: Steps to develop an AddIn using Managed AddIn Framework (MAF) « MSBLOGS | Biju Paulose

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s